aboutsummaryrefslogtreecommitdiff
path: root/map.c
diff options
context:
space:
mode:
Diffstat (limited to 'map.c')
-rw-r--r--map.c14
1 files changed, 14 insertions, 0 deletions
diff --git a/map.c b/map.c
index 48590b3..10d39de 100644
--- a/map.c
+++ b/map.c
@@ -324,3 +324,17 @@ void map_free(Map *map)
map_clear(map);
free(map);
}
+
+static bool free_elem(const char *key, void *value, void *data)
+{
+ free(value);
+ return true;
+}
+
+void map_free_full(Map *map)
+{
+ if (!map)
+ return;
+ map_iterate(map, free_elem, NULL);
+ map_free(map);
+}