rem: unsigned int hash_func(void *e, const void *key, unsigned int range))
add: uint32 hash_func(void *e, const void *key, uint32 range))
context: hash_init(unsigned int table_size, int next_ptr_offset,	int compare_func(void *e, const void *key),	unsigned int hash_func(void *e, const void *key, unsigned int range)){	struct hash_table *t;	unsigned int i;	t = (struct hash_table *)malloc(sizeof(struct hash_table));	if (t == NULL)		return NULL;	t->table = (struct hash_elem **)malloc(sizeof(void *) * table_size);	if (t->table == NULL) {		free(t);		return NULL;	}		for (i = 0; i<table_size; i++)		t->table[i] = NULL;	t->table_size = table_size;	t->next_ptr_offset = next_ptr_offset;	t->flags = 0;	t->num_elems = 0;	t->compare_func = compare_func;	t->hash_func = hash_func;//	dprintf("hash_init: created table 0x%x, next_ptr_offset %d, compare_func 0x%x, hash_func 0x%x\n",//		t, next_ptr_offset, compare_func, hash_func);	return t;}