From: Taylor Blau Date: Wed, 27 May 2026 19:55:59 +0000 (-0400) Subject: pack-bitmap: consolidate `find_object_pos()` success path X-Git-Url: http://git.ipfire.org/gitweb/index.cgi?a=commitdiff_plain;h=ece3465d44157157a03eb7cd5de955e552e7831c;p=thirdparty%2Fgit.git pack-bitmap: consolidate `find_object_pos()` success path Both sides of `find_object_pos()` report success in the same way by setting the optional `found` out-parameter and return the resolved bitmap position. Prepare for adding more bookkeeping around object-position lookups by storing the result in a local `pos` variable and sharing the success return path between the packlist and MIDX cases. Signed-off-by: Taylor Blau Signed-off-by: Junio C Hamano --- diff --git a/pack-bitmap-write.c b/pack-bitmap-write.c index 651ad46746..42ed22feac 100644 --- a/pack-bitmap-write.c +++ b/pack-bitmap-write.c @@ -217,6 +217,7 @@ static uint32_t find_object_pos(struct bitmap_writer *writer, const struct object_id *oid, int *found) { struct object_entry *entry; + uint32_t pos; entry = packlist_find(writer->to_pack, oid); if (entry) { @@ -224,23 +225,22 @@ static uint32_t find_object_pos(struct bitmap_writer *writer, if (writer->midx) base_objects = writer->midx->num_objects + writer->midx->num_objects_in_base; - - if (found) - *found = 1; - return oe_in_pack_pos(writer->to_pack, entry) + base_objects; + pos = oe_in_pack_pos(writer->to_pack, entry) + base_objects; } else if (writer->midx) { - uint32_t at, pos; + uint32_t at; if (!bsearch_midx(oid, writer->midx, &at)) goto missing; if (midx_to_pack_pos(writer->midx, at, &pos) < 0) goto missing; - - if (found) - *found = 1; - return pos; + } else { + goto missing; } + if (found) + *found = 1; + return pos; + missing: if (found) *found = 0;