path: root/builtin/name-rev.c
diff options
authorJeff King <>2021-01-28 06:19:42 (GMT)
committerJunio C Hamano <>2021-01-28 20:02:39 (GMT)
commit45ee13b942b26925b33d827bda2856e1ed0af0b7 (patch)
tree87f89914fdf93c8d3ef42411657c668680ccadcf /builtin/name-rev.c
parent680ff910b0329c8482f98ad9d3c49f4628c1bafa (diff)
hash_pos(): convert to oid_pos()
All of our callers are actually looking up an object_id, not a bare hash. Likewise, the arrays they are looking in are actual arrays of object_id (not just raw bytes of hashes, as we might find in a pack .idx; those are handled by bsearch_hash()). Using an object_id gives us more type safety, and makes the callers slightly shorter. It also gets rid of the word "sha1" from several access functions, though we could obviously also rename those with s/sha1/hash/. Signed-off-by: Jeff King <> Signed-off-by: Junio C Hamano <>
Diffstat (limited to 'builtin/name-rev.c')
1 files changed, 4 insertions, 4 deletions
diff --git a/builtin/name-rev.c b/builtin/name-rev.c
index 3fe71a8..27138fd 100644
--- a/builtin/name-rev.c
+++ b/builtin/name-rev.c
@@ -390,10 +390,10 @@ static void name_tips(void)
-static const unsigned char *nth_tip_table_ent(size_t ix, void *table_)
+static const struct object_id *nth_tip_table_ent(size_t ix, void *table_)
struct tip_table_entry *table = table_;
- return table[ix].oid.hash;
+ return &table[ix].oid;
static const char *get_exact_ref_match(const struct object *o)
@@ -408,8 +408,8 @@ static const char *get_exact_ref_match(const struct object *o)
tip_table.sorted = 1;
- found = hash_pos(o->oid.hash, tip_table.table,,
- nth_tip_table_ent);
+ found = oid_pos(&o->oid, tip_table.table,,
+ nth_tip_table_ent);
if (0 <= found)
return tip_table.table[found].refname;
return NULL;