diff options
| author | Franklin Wei <git@fwei.tk> | 2016-03-26 20:47:42 -0400 |
|---|---|---|
| committer | Franklin Wei <git@fwei.tk> | 2016-03-26 20:47:42 -0400 |
| commit | f6ced470369099e3d837e661b59f9dc539ebde70 (patch) | |
| tree | 19b10984b9670f21a421f61d11a29fb83b51db6f /src/multimap.c | |
| parent | eb8b5907df2cf3c4b593197d40d10e83e6943ee3 (diff) | |
| download | netcosm-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.c | 4 |
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; |