summaryrefslogtreecommitdiff
path: root/t/helper/test-hashmap.c
diff options
context:
space:
mode:
authorEric Wong <e@80x24.org>2019-10-06 23:30:37 (GMT)
committerJunio C Hamano <gitster@pobox.com>2019-10-07 01:20:11 (GMT)
commit939af16eac1608766273d3971598dbcc4fe09928 (patch)
tree15abb229ccf6464acd1241fac3db0c45ee7b6bbd /t/helper/test-hashmap.c
parentf23a465132a22860684ac66052cf9a954a18e27d (diff)
downloadgit-939af16eac1608766273d3971598dbcc4fe09928.zip
git-939af16eac1608766273d3971598dbcc4fe09928.tar.gz
git-939af16eac1608766273d3971598dbcc4fe09928.tar.bz2
hashmap_cmp_fn takes hashmap_entry params
Another step in eliminating the requirement of hashmap_entry being the first member of a struct. 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 't/helper/test-hashmap.c')
-rw-r--r--t/helper/test-hashmap.c10
1 files changed, 6 insertions, 4 deletions
diff --git a/t/helper/test-hashmap.c b/t/helper/test-hashmap.c
index e82cbfd..56846da 100644
--- a/t/helper/test-hashmap.c
+++ b/t/helper/test-hashmap.c
@@ -16,15 +16,17 @@ static const char *get_value(const struct test_entry *e)
}
static int test_entry_cmp(const void *cmp_data,
- const void *entry,
- const void *entry_or_key,
+ const struct hashmap_entry *eptr,
+ const struct hashmap_entry *entry_or_key,
const void *keydata)
{
const int ignore_case = cmp_data ? *((int *)cmp_data) : 0;
- const struct test_entry *e1 = entry;
- const struct test_entry *e2 = entry_or_key;
+ const struct test_entry *e1, *e2;
const char *key = keydata;
+ e1 = container_of(eptr, const struct test_entry, ent);
+ e2 = container_of(entry_or_key, const struct test_entry, ent);
+
if (ignore_case)
return strcasecmp(e1->key, key ? key : e2->key);
else