#include <stddef.h>
-size_t hash_pjw (void const *x, size_t tablesize);
+/* Compute a hash code for a NUL-terminated string starting at X,
+ and return the hash code modulo TABLESIZE.
+ The result is platform dependent: it depends on the size of the 'size_t'
+ type and on the signedness of the 'char' type. */
+extern size_t hash_pjw (void const *x, size_t tablesize);
candidate = new_candidate;
}
- if (SIZE_MAX / sizeof *table->bucket < candidate)
+ if (xalloc_oversized (candidate, sizeof *table->bucket))
goto fail;
table->n_buckets = next_prime (candidate);
- if (SIZE_MAX / sizeof *table->bucket < table->n_buckets)
+ if (xalloc_oversized (table->n_buckets, sizeof *table->bucket))
goto fail;
table->bucket = calloc (table->n_buckets, sizeof *table->bucket);