projects
/
pspp
/ blobdiff
commit
grep
author
committer
pickaxe
?
search:
re
summary
|
shortlog
|
log
|
commit
|
commitdiff
|
tree
raw
|
inline
| side by side
Remove julcal.
[pspp]
/
src
/
hash.c
diff --git
a/src/hash.c
b/src/hash.c
index 588b311b45774c37cc52d5476b4a79b24b589b17..2544a75d0dcd025f82668bfc24a47dfaeb2ad70c 100644
(file)
--- a/
src/hash.c
+++ b/
src/hash.c
@@
-142,7
+142,9
@@
hsh_create (int size, hsh_compare_func *compare, hsh_hash_func *hash,
struct hsh_table *h;
int i;
struct hsh_table *h;
int i;
- assert (size > 0);
+ if ( size == 0 )
+ return NULL;
+
assert (compare != NULL);
assert (hash != NULL);
assert (compare != NULL);
assert (hash != NULL);
@@
-175,6
+177,8
@@
hsh_clear (struct hsh_table *h)
for (i = 0; i < h->size; i++)
h->entries[i] = NULL;
for (i = 0; i < h->size; i++)
h->entries[i] = NULL;
+
+ h->used = 0;
}
/* Destroys table H and all its contents. */
}
/* Destroys table H and all its contents. */
@@
-259,6
+263,9
@@
comparison_helper (const void *a_, const void *b_, void *h_)
void *const *b = b_;
struct hsh_table *h = h_;
void *const *b = b_;
struct hsh_table *h = h_;
+ assert(a);
+ assert(b);
+
return h->compare (*a, *b, h->aux);
}
return h->compare (*a, *b, h->aux);
}