oidmap: use sha1hash() instead of static hash() function

Get rid of the static hash() function in oidmap.c which is redundant
with sha1hash(). Use sha1hash() directly instead.

Let's be more consistent and not use several hash functions doing
nearly exactly the same thing.

Signed-off-by: Christian Couder <chriscool@tuxfamily.org>
Signed-off-by: Junio C Hamano <gitster@pobox.com>
This commit is contained in:
Christian Couder 2019-06-15 12:07:01 +02:00 committed by Junio C Hamano
parent c1f7f53834
commit 19cfa0e033

View File

@ -12,13 +12,6 @@ static int oidmap_neq(const void *hashmap_cmp_fn_data,
&((const struct oidmap_entry *) entry_or_key)->oid);
}
static int hash(const struct object_id *oid)
{
int hash;
memcpy(&hash, oid->hash, sizeof(hash));
return hash;
}
void oidmap_init(struct oidmap *map, size_t initial_size)
{
hashmap_init(&map->map, oidmap_neq, NULL, initial_size);
@ -36,7 +29,7 @@ void *oidmap_get(const struct oidmap *map, const struct object_id *key)
if (!map->map.cmpfn)
return NULL;
return hashmap_get_from_hash(&map->map, hash(key), key);
return hashmap_get_from_hash(&map->map, sha1hash(key->hash), key);
}
void *oidmap_remove(struct oidmap *map, const struct object_id *key)
@ -46,7 +39,7 @@ void *oidmap_remove(struct oidmap *map, const struct object_id *key)
if (!map->map.cmpfn)
oidmap_init(map, 0);
hashmap_entry_init(&entry, hash(key));
hashmap_entry_init(&entry, sha1hash(key->hash));
return hashmap_remove(&map->map, &entry, key);
}
@ -57,6 +50,6 @@ void *oidmap_put(struct oidmap *map, void *entry)
if (!map->map.cmpfn)
oidmap_init(map, 0);
hashmap_entry_init(&to_put->internal_entry, hash(&to_put->oid));
hashmap_entry_init(&to_put->internal_entry, sha1hash(to_put->oid.hash));
return hashmap_put(&map->map, to_put);
}