summaryrefslogtreecommitdiff
path: root/t/helper
diff options
context:
space:
mode:
authorJunio C Hamano <gitster@pobox.com>2020-11-21 23:14:38 (GMT)
committerJunio C Hamano <gitster@pobox.com>2020-11-21 23:14:38 (GMT)
commitbf0a430f70b53f94454692c9ae8ddadd18891aaa (patch)
tree0f55c315bc012df4f7fe235f1606b931625833d3 /t/helper
parentd5e35329dd5305d611478e8d5076a8ca75e25f0d (diff)
parent449a900969d0f060d054e5a13084bed318da3a31 (diff)
downloadgit-bf0a430f70b53f94454692c9ae8ddadd18891aaa.zip
git-bf0a430f70b53f94454692c9ae8ddadd18891aaa.tar.gz
git-bf0a430f70b53f94454692c9ae8ddadd18891aaa.tar.bz2
Merge branch 'en/strmap'
A specialization of hashmap that uses a string as key has been introduced. Hopefully it will see wider use over time. * en/strmap: shortlog: use strset from strmap.h Use new HASHMAP_INIT macro to simplify hashmap initialization strmap: take advantage of FLEXPTR_ALLOC_STR when relevant strmap: enable allocations to come from a mem_pool strmap: add a strset sub-type strmap: split create_entry() out of strmap_put() strmap: add functions facilitating use as a string->int map strmap: enable faster clearing and reusing of strmaps strmap: add more utility functions strmap: new utility functions hashmap: provide deallocation function names hashmap: introduce a new hashmap_partial_clear() hashmap: allow re-use after hashmap_free() hashmap: adjust spacing to fix argument alignment hashmap: add usage documentation explaining hashmap_free[_entries]()
Diffstat (limited to 't/helper')
-rw-r--r--t/helper/test-hashmap.c9
1 files changed, 4 insertions, 5 deletions
diff --git a/t/helper/test-hashmap.c b/t/helper/test-hashmap.c
index f387062..36ff07b 100644
--- a/t/helper/test-hashmap.c
+++ b/t/helper/test-hashmap.c
@@ -110,7 +110,7 @@ static void perf_hashmap(unsigned int method, unsigned int rounds)
hashmap_add(&map, &entries[i]->ent);
}
- hashmap_free(&map);
+ hashmap_clear(&map);
}
} else {
/* test map lookups */
@@ -130,7 +130,7 @@ static void perf_hashmap(unsigned int method, unsigned int rounds)
}
}
- hashmap_free(&map);
+ hashmap_clear(&map);
}
}
@@ -151,12 +151,11 @@ static void perf_hashmap(unsigned int method, unsigned int rounds)
int cmd__hashmap(int argc, const char **argv)
{
struct strbuf line = STRBUF_INIT;
- struct hashmap map;
int icase;
+ struct hashmap map = HASHMAP_INIT(test_entry_cmp, &icase);
/* init hash map */
icase = argc > 1 && !strcmp("ignorecase", argv[1]);
- hashmap_init(&map, test_entry_cmp, &icase, 0);
/* process commands from stdin */
while (strbuf_getline(&line, stdin) != EOF) {
@@ -262,6 +261,6 @@ int cmd__hashmap(int argc, const char **argv)
}
strbuf_release(&line);
- hashmap_free_entries(&map, struct test_entry, ent);
+ hashmap_clear_and_free(&map, struct test_entry, ent);
return 0;
}