attr.c: drop hashmap_cmp_fn cast

MAke the code more readable and less error prone by avoiding the cast
of the compare function pointer in hashmap_init, but instead have the
correctly named void pointers to casted to the specific data structure.

Signed-off-by: Stefan Beller <sbeller@google.com>
Signed-off-by: Junio C Hamano <gitster@pobox.com>
This commit is contained in:
Stefan Beller 2017-06-30 17:28:29 -07:00 коммит произвёл Junio C Hamano
Родитель 1ecbf31d02
Коммит 201c14e375
1 изменённых файлов: 7 добавлений и 5 удалений

12
attr.c
Просмотреть файл

@ -76,18 +76,20 @@ struct attr_hash_entry {
};
/* attr_hashmap comparison function */
static int attr_hash_entry_cmp(void *unused_cmp_data,
const struct attr_hash_entry *a,
const struct attr_hash_entry *b,
void *unused_keydata)
static int attr_hash_entry_cmp(const void *unused_cmp_data,
const void *entry,
const void *entry_or_key,
const void *unused_keydata)
{
const struct attr_hash_entry *a = entry;
const struct attr_hash_entry *b = entry_or_key;
return (a->keylen != b->keylen) || strncmp(a->key, b->key, a->keylen);
}
/* Initialize an 'attr_hashmap' object */
static void attr_hashmap_init(struct attr_hashmap *map)
{
hashmap_init(&map->map, (hashmap_cmp_fn) attr_hash_entry_cmp, NULL, 0);
hashmap_init(&map->map, attr_hash_entry_cmp, NULL, 0);
}
/*