size_t size; /* Number of entries (a power of 2). */
void **entries; /* Hash table proper. */
- void *aux; /* Auxiliary data for comparison functions. */
+ const void *aux; /* Auxiliary data for comparison functions. */
hsh_compare_func *compare;
hsh_hash_func *hash;
hsh_free_func *free;
struct hsh_table *
hsh_create (int size, hsh_compare_func *compare, hsh_hash_func *hash,
- hsh_free_func *free, void *aux)
+ hsh_free_func *free, const void *aux)
{
return hsh_create_pool (NULL, size, compare, hash, free, aux);
}
struct hsh_table *
hsh_create_pool (struct pool *pool, int size,
hsh_compare_func *compare, hsh_hash_func *hash,
- hsh_free_func *free, void *aux)
+ hsh_free_func *free, const void *aux)
{
struct hsh_table *h;
int i;
/* A "algo_predicate_func" that returns true if DATA points
to a non-null void. */
static bool
-not_null (const void *data_, void *aux UNUSED)
+not_null (const void *data_, const void *aux UNUSED)
{
void *const *data = data_;
/* Dereferences void ** pointers and passes them to the hash
comparison function. */
static int
-comparison_helper (const void *a_, const void *b_, void *h_)
+comparison_helper (const void *a_, const void *b_, const void *h_)
{
void *const *a = a_;
void *const *b = b_;
- struct hsh_table *h = h_;
+ const struct hsh_table *h = h_;
assert(a);
assert(b);