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 <peff@peff.net>
Signed-off-by: Junio C Hamano <gitster@pobox.com>
This commit is contained in:
Jeff King
2021-01-28 01:19:42 -05:00
committed by Junio C Hamano
parent 680ff910b0
commit 45ee13b942
7 changed files with 43 additions and 43 deletions

View File

@ -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, tip_table.nr,
nth_tip_table_ent);
found = oid_pos(&o->oid, tip_table.table, tip_table.nr,
nth_tip_table_ent);
if (0 <= found)
return tip_table.table[found].refname;
return NULL;