diff options
Diffstat (limited to 'src/hash.c')
| -rw-r--r-- | src/hash.c | 4 |
1 files changed, 4 insertions, 0 deletions
@@ -308,12 +308,16 @@ bool hash_remove(void *ptr, const void *key) last->next = iter->next; else map->table[hash] = iter->next; + if(map->free_key) map->free_key((void*)iter->key); if(map->free_data) map->free_data((void*)iter->data); + --map->n_entries; + free(iter); + return true; } last = iter; |