Skip to content

Commit

Permalink
attr.c: drop hashmap_cmp_fn cast
Browse files Browse the repository at this point in the history
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 <[email protected]>
Signed-off-by: Junio C Hamano <[email protected]>
  • Loading branch information
stefanbeller authored and gitster committed Jul 5, 2017
1 parent 1ecbf31 commit 201c14e
Showing 1 changed file with 7 additions and 5 deletions.
12 changes: 7 additions & 5 deletions attr.c
Original file line number Diff line number Diff line change
Expand Up @@ -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);
}

/*
Expand Down

0 comments on commit 201c14e

Please sign in to comment.