aboutsummaryrefslogtreecommitdiff
path: root/src/hash.c
diff options
context:
space:
mode:
authorFranklin Wei <git@fwei.tk>2016-03-24 21:45:47 -0400
committerFranklin Wei <git@fwei.tk>2016-03-24 21:45:47 -0400
commiteb8b5907df2cf3c4b593197d40d10e83e6943ee3 (patch)
treee19b5d3ee90e7d29b5975ad05496b2ab1385ad15 /src/hash.c
parenta91f858ebaea0f403b2c59773e619086b9198a39 (diff)
downloadnetcosm-eb8b5907df2cf3c4b593197d40d10e83e6943ee3.zip
netcosm-eb8b5907df2cf3c4b593197d40d10e83e6943ee3.tar.gz
netcosm-eb8b5907df2cf3c4b593197d40d10e83e6943ee3.tar.bz2
netcosm-eb8b5907df2cf3c4b593197d40d10e83e6943ee3.tar.xz
fix for drop bug
Diffstat (limited to 'src/hash.c')
-rw-r--r--src/hash.c4
1 files changed, 4 insertions, 0 deletions
diff --git a/src/hash.c b/src/hash.c
index eed4846..59c05bf 100644
--- a/src/hash.c
+++ b/src/hash.c
@@ -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;