Lines Matching refs:length
49 static unsigned int hash_hash(const char *key, int length)
53 while (--length)
59 void *mm_hash_find(MM_Hash *table, const void *key, int length)
62 unsigned int hash = hash_hash((const char *)key, length) % MM_HASH_SIZE;
66 if (length != b->length) continue;
67 if (memcmp(key, b->key, length)) continue;
75 void mm_hash_update(MM_Hash *table, char *key, int length, void *data)
80 hash = hash_hash(key, length) % MM_HASH_SIZE;
84 if (length != b->length) continue;
85 if (memcmp(key, b->key, length)) continue;
91 b->key = (char *) mm_malloc(table->mm, length + 1);
92 memcpy(b->key, key, length);
93 b->key[length] = 0;
94 b->length = length;
103 void mm_hash_delete(MM_Hash *table, char *key, int length)
109 hash = hash_hash(key, length) % MM_HASH_SIZE;
111 if (hash != b->hash || length != b->length || memcmp(key, b->key, length)) {