summaryrefslogtreecommitdiff
path: root/src/shared/hashmap.c
diff options
context:
space:
mode:
authorLennart Poettering <lennart@poettering.net>2012-07-03 16:09:36 +0200
committerLennart Poettering <lennart@poettering.net>2012-07-03 16:10:04 +0200
commit9946996cda11a18b44d82344676e5a0e96339408 (patch)
treef1ce011f33dfc88a1b62fa30b1184568afda652c /src/shared/hashmap.c
parentf6c13ce47ebee287f8b6a965ca5ca022a9f26e2c (diff)
load-fragment: a few modernizations
Diffstat (limited to 'src/shared/hashmap.c')
-rw-r--r--src/shared/hashmap.c15
1 files changed, 10 insertions, 5 deletions
diff --git a/src/shared/hashmap.c b/src/shared/hashmap.c
index 5d1e63208a..ab00957306 100644
--- a/src/shared/hashmap.c
+++ b/src/shared/hashmap.c
@@ -277,11 +277,7 @@ void hashmap_free(Hashmap*h) {
}
void hashmap_free_free(Hashmap *h) {
- void *p;
-
- while ((p = hashmap_steal_first(h)))
- free(p);
-
+ hashmap_clear_free(h);
hashmap_free(h);
}
@@ -293,6 +289,15 @@ void hashmap_clear(Hashmap *h) {
remove_entry(h, h->iterate_list_head);
}
+void hashmap_clear_free(Hashmap *h) {
+ void *p;
+
+ assert(h);
+
+ while ((p = hashmap_steal_first(h)))
+ free(p);
+}
+
static struct hashmap_entry *hash_scan(Hashmap *h, unsigned hash, const void *key) {
struct hashmap_entry *e;
assert(h);