76 #define WS_HASH_TABLE_SIZE 256 131 for (i = hash->
items[h]; i; i = i->
next) {
152 if (i->
name == NULL) {
186 for (i = hash->
items[j]; i; i = n) {
194 hash->
items[j] = NULL;
205 for (i = 0;
string[i]; i++) {
208 val ^= (val & 0xff00) >> 5;
209 val ^= (val & 0xff0000) >> 16;
void * ws_calloc(size_t num, size_t size)
void ws_hash_clear(WsHashPtr hash)
void ws_hash_destroy(WsHashPtr hash)
#define WS_HASH_TABLE_SIZE
WsHashItemDestructor destructor
struct WsHashItemRec * next
void(* WsHashItemDestructor)(void *item, void *context)
WsHashItem * items[WS_HASH_TABLE_SIZE]
void * ws_strdup(const char *str)
void * destructor_context
static size_t count_hash(const char *string)
WsBool ws_hash_put(WsHashPtr hash, const char *name, void *data)
void * ws_hash_get(WsHashPtr hash, const char *name)
WsHashPtr ws_hash_create(WsHashItemDestructor destructor, void *context)