aboutsummaryrefslogtreecommitdiff
path: root/src/multimap.c
diff options
context:
space:
mode:
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;