If user has supplied a value free function, then that will be
called for each deleted entry.
---
ell/hashmap.c | 4 ++++
1 file changed, 4 insertions(+)
diff --git a/ell/hashmap.c b/ell/hashmap.c
index f707d64..c51abfd 100644
--- a/ell/hashmap.c
+++ b/ell/hashmap.c
@@ -349,6 +349,9 @@ LIB_EXPORT bool l_hashmap_set_value_free_function(struct l_hashmap
*hashmap,
* @destroy: destroy function
*
* Free hash table and call @destory on all remaining entries.
+ * If user has set the value free function by
+ * l_hashmap_set_value_free_function() then the user specified free
+ * function will be called in order to free the value.
**/
LIB_EXPORT void l_hashmap_destroy(struct l_hashmap *hashmap,
l_hashmap_destroy_func_t destroy)
@@ -369,6 +372,7 @@ LIB_EXPORT void l_hashmap_destroy(struct l_hashmap *hashmap,
destroy(entry->value);
free_key(hashmap, entry->key);
+ free_value(hashmap, entry->value);
next = entry->next;
--
1.8.3.1