hashmap: remove type arg from hashmap_{get,put,remove}_entry

Since these macros already take a `keyvar' pointer of a known type,
we can rely on OFFSETOF_VAR to get the correct offset without
relying on non-portable `__typeof__' and `offsetof'.

Argument order is also rearranged, so `keyvar' and `member' are
sequential as they are used as: `keyvar->member'

Signed-off-by: Eric Wong <e@80x24.org>
Reviewed-by: Derrick Stolee <stolee@gmail.com>
Signed-off-by: Junio C Hamano <gitster@pobox.com>
This commit is contained in:
Eric Wong
2019-10-06 23:30:42 +00:00
committed by Junio C Hamano
parent 23dee69f53
commit 404ab78e39
17 changed files with 56 additions and 55 deletions

View File

@ -65,8 +65,7 @@ static struct dir_rename_entry *dir_rename_find_entry(struct hashmap *hashmap,
return NULL;
hashmap_entry_init(&key.ent, strhash(dir));
key.dir = dir;
return hashmap_get_entry(hashmap, &key, NULL,
struct dir_rename_entry, ent);
return hashmap_get_entry(hashmap, &key, ent, NULL);
}
static int dir_rename_cmp(const void *unused_cmp_data,
@ -104,8 +103,7 @@ static struct collision_entry *collision_find_entry(struct hashmap *hashmap,
hashmap_entry_init(&key.ent, strhash(target_file));
key.target_file = target_file;
return hashmap_get_entry(hashmap, &key, NULL,
struct collision_entry, ent);
return hashmap_get_entry(hashmap, &key, ent, NULL);
}
static int collision_cmp(const void *unused_cmp_data,