Lines Matching refs:ht
31 nl_hash_table_t *ht;
33 ht = calloc(1, sizeof (*ht));
34 if (!ht)
37 ht->nodes = calloc(size, sizeof (*ht->nodes));
38 if (!ht->nodes) {
39 free(ht);
43 ht->size = size;
45 return ht;
52 * @arg ht Hashtable
56 void nl_hash_table_free(nl_hash_table_t *ht)
60 for(i = 0; i < ht->size; i++) {
61 nl_hash_node_t *node = ht->nodes[i];
72 free(ht->nodes);
73 free(ht);
78 * @arg ht Hashtable
86 struct nl_object* nl_hash_table_lookup(nl_hash_table_t *ht,
92 nl_object_keygen(obj, &key_hash, ht->size);
93 node = ht->nodes[key_hash];
106 * @arg ht Hashtable
117 int nl_hash_table_add(nl_hash_table_t *ht, struct nl_object *obj)
122 nl_object_keygen(obj, &key_hash, ht->size);
123 node = ht->nodes[key_hash];
134 obj, ht, key_hash);
143 node->next = ht->nodes[key_hash];
144 ht->nodes[key_hash] = node;
151 * @arg ht Hashtable
161 int nl_hash_table_del(nl_hash_table_t *ht, struct nl_object *obj)
166 nl_object_keygen(obj, &key_hash, ht->size);
167 prev = node = ht->nodes[key_hash];
174 " hash 0x%x\n", obj, ht, key_hash);
176 if (node == ht->nodes[key_hash])
177 ht->nodes[key_hash] = node->next;