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

@ -141,9 +141,7 @@ static void cache_remove_path(struct submodule_cache *cache,
struct submodule_entry *removed;
hashmap_entry_init(&e.ent, hash);
e.config = submodule;
removed = hashmap_remove_entry(&cache->for_path, &e, NULL,
struct submodule_entry,
ent /* member name */);
removed = hashmap_remove_entry(&cache->for_path, &e, ent, NULL);
free(removed);
}
@ -172,8 +170,7 @@ static const struct submodule *cache_lookup_path(struct submodule_cache *cache,
hashmap_entry_init(&key.ent, hash);
key.config = &key_config;
entry = hashmap_get_entry(&cache->for_path, &key, NULL,
struct submodule_entry, ent);
entry = hashmap_get_entry(&cache->for_path, &key, ent, NULL);
if (entry)
return entry->config;
return NULL;
@ -193,8 +190,7 @@ static struct submodule *cache_lookup_name(struct submodule_cache *cache,
hashmap_entry_init(&key.ent, hash);
key.config = &key_config;
entry = hashmap_get_entry(&cache->for_name, &key, NULL,
struct submodule_entry, ent);
entry = hashmap_get_entry(&cache->for_name, &key, ent, NULL);
if (entry)
return entry->config;
return NULL;