summaryrefslogtreecommitdiff
path: root/config.c
diff options
context:
space:
mode:
authorEric Wong <e@80x24.org>2019-10-06 23:30:40 +0000
committerJunio C Hamano <gitster@pobox.com>2019-10-07 10:20:11 +0900
commitc8e424c9c94d97b18cd335be17f32a8ce94a5b7f (patch)
treee8e652183caac5ad5943e423076585889b02d9b3 /config.c
parent8a973d0bb398d6d83d6c048acecc750d01bd7234 (diff)
downloadgit-c8e424c9c94d97b18cd335be17f32a8ce94a5b7f.tar.gz
hashmap: introduce hashmap_free_entries
`hashmap_free_entries' behaves like `container_of' and passes the offset of the hashmap_entry struct to the internal `hashmap_free_' function, allowing the function to free any struct pointer regardless of where the hashmap_entry field is located. `hashmap_free' no longer takes any arguments aside from the hashmap itself. Signed-off-by: Eric Wong <e@80x24.org> Reviewed-by: Derrick Stolee <stolee@gmail.com> Signed-off-by: Junio C Hamano <gitster@pobox.com>
Diffstat (limited to 'config.c')
-rw-r--r--config.c2
1 files changed, 1 insertions, 1 deletions
diff --git a/config.c b/config.c
index 8433f74371..4d05dbc15a 100644
--- a/config.c
+++ b/config.c
@@ -1948,7 +1948,7 @@ void git_configset_clear(struct config_set *cs)
free(entry->key);
string_list_clear(&entry->value_list, 1);
}
- hashmap_free(&cs->config_hash, 1);
+ hashmap_free_entries(&cs->config_hash, struct config_set_element, ent);
cs->hash_initialized = 0;
free(cs->list.items);
cs->list.nr = 0;