git/list[1] front-page[2] threads[3] people[4] search[5] about
 

[PATCH 3/3] oidmap: use sha1hash() instead of static hash() function

From
Christian Couder <christian.couder@gmail.com>
Date
Jun 9, 2019, 04:49 UTC
Message-ID
<20190609044907.32477-4-chriscool@tuxfamily.org>
In-Reply-To
<20190609044907.32477-1-chriscool@tuxfamily.org>
From: Christian Couder <christian.couder@gmail.com>

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>
---
 oidmap.c | 13 +++----------
 1 file changed, 3 insertions(+), 10 deletions(-)
diff --git a/oidmap.c b/oidmap.c
index b0841a0f58..01c206aaef 100644
--- a/oidmap.c
+++ b/oidmap.c
@@ -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);
 }
-- 
2.22.0.14.g9023ccb50a
Previous: Christian Couder
Message 14 of 14 in “Test oidmap”
  1. 0/3 Test oidmapChristian Couder, Jun 9, 2019
  2. 1/3 t/helper: add test-oidmap.cChristian Couder, Jun 9, 2019
  3. 2/3 t: add t0016-oidmap.shChristian Couder, Jun 9, 2019
  4. SZEDER GáborJun 9, 2019
  5. Christian CouderJun 9, 2019
  6. SZEDER GáborJun 9, 2019
  7. Christian CouderJun 9, 2019
  8. Junio C HamanoJun 10, 2019
  9. Jeff KingJun 13, 2019
  10. SZEDER GáborJun 13, 2019
  11. Jeff KingJun 13, 2019
  12. Junio C HamanoJun 13, 2019
  13. Christian CouderJun 14, 2019
  14. 3/3 oidmap: use sha1hash() instead of static hash() functionChristian Couder, Jun 9, 2019

Read the whole thread, see it on lore, or plain text.

$ cat FOOTERMessages come from the public archive at lore.kernel.org/git, fetched every hour. The front page is chosen and written each morning by an AI editor and can be wrong; the threads themselves are the record. About and API. For agents: an MCP server at https://gitlist.dev/mcp, and any thread, story or person page as Markdown by adding .md to its URL (or sending Accept: text/markdown). Details in /llms.txt.