X-Git-Url: https://www.chiark.greenend.org.uk/ucgi/~ianmdlvl/git?p=elogind.git;a=blobdiff_plain;f=hashmap.c;h=c55a07a8846534b72c39e20e4008405edf9ab316;hp=4db61732fae566011e06af51ae0b9de24ba37f74;hb=11dd41ce4b465f6260ce68aa050a488f88f694eb;hpb=42f4e3c4413ad35e3815f25211fee95d775488a7 diff --git a/hashmap.c b/hashmap.c index 4db61732f..c55a07a88 100644 --- a/hashmap.c +++ b/hashmap.c @@ -106,12 +106,19 @@ void hashmap_free(Hashmap*h) { if (!h) return; - while (h->iterate_list_head) - remove_entry(h, h->iterate_list_head); + hashmap_clear(h); free(h); } +void hashmap_clear(Hashmap *h) { + if (!h) + return; + + while (h->iterate_list_head) + remove_entry(h, h->iterate_list_head); +} + static struct hashmap_entry *hash_scan(Hashmap *h, unsigned hash, const void *key) { struct hashmap_entry *e; assert(h);