aboutsummaryrefslogtreecommitdiff
path: root/src/multimap.c
diff options
context:
space:
mode:
authorFranklin Wei <git@fwei.tk>2016-03-26 20:47:42 -0400
committerFranklin Wei <git@fwei.tk>2016-03-26 20:47:42 -0400
commitf6ced470369099e3d837e661b59f9dc539ebde70 (patch)
tree19b10984b9670f21a421f61d11a29fb83b51db6f /src/multimap.c
parenteb8b5907df2cf3c4b593197d40d10e83e6943ee3 (diff)
downloadnetcosm-f6ced470369099e3d837e661b59f9dc539ebde70.zip
netcosm-f6ced470369099e3d837e661b59f9dc539ebde70.tar.gz
netcosm-f6ced470369099e3d837e661b59f9dc539ebde70.tar.bz2
netcosm-f6ced470369099e3d837e661b59f9dc539ebde70.tar.xz
fix drop bug
Diffstat (limited to 'src/multimap.c')
-rw-r--r--src/multimap.c4
1 files changed, 3 insertions, 1 deletions
diff --git a/src/multimap.c b/src/multimap.c
index 033b511..28a509c 100644
--- a/src/multimap.c
+++ b/src/multimap.c
@@ -192,6 +192,8 @@ size_t multimap_delete(void *ptr, const void *key, const void *val)
struct multimap_node *node = hash_lookup(map->hash_tab, key);
+ struct hash_export_node internal_node = hash_get_internal_node(map->hash_tab, key);
+
if(!node)
return 0;
@@ -227,7 +229,7 @@ size_t multimap_delete(void *ptr, const void *key, const void *val)
if(!node->n_pairs)
{
- hash_remove(map->hash_tab, key);
+ hash_del_internal_node(map->hash_tab, &internal_node);
}
return deleted;