]> git.ipfire.org Git - thirdparty/git.git/commitdiff
get_delta_base_oid(): convert to new revindex API
authorTaylor Blau <me@ttaylorr.com>
Wed, 13 Jan 2021 22:24:32 +0000 (17:24 -0500)
committerJunio C Hamano <gitster@pobox.com>
Thu, 14 Jan 2021 05:53:46 +0000 (21:53 -0800)
Replace direct accesses to the 'struct revindex' type with a call to
'pack_pos_to_index()'.

Likewise drop the old-style 'find_pack_revindex()' with its replacement
'offset_to_pack_pos()' (while continuing to perform the same error
checking).

Signed-off-by: Taylor Blau <me@ttaylorr.com>
Signed-off-by: Junio C Hamano <gitster@pobox.com>
packfile.c

index 86f5c8dbf6677195ffca0e03f3cf810e84c5f0df..3e3f391949a1ef66b95fdafdea50d4f607aa1b27 100644 (file)
@@ -1235,18 +1235,18 @@ static int get_delta_base_oid(struct packed_git *p,
                oidread(oid, base);
                return 0;
        } else if (type == OBJ_OFS_DELTA) {
-               struct revindex_entry *revidx;
+               uint32_t base_pos;
                off_t base_offset = get_delta_base(p, w_curs, &curpos,
                                                   type, delta_obj_offset);
 
                if (!base_offset)
                        return -1;
 
-               revidx = find_pack_revindex(p, base_offset);
-               if (!revidx)
+               if (offset_to_pack_pos(p, base_offset, &base_pos) < 0)
                        return -1;
 
-               return nth_packed_object_id(oid, p, revidx->nr);
+               return nth_packed_object_id(oid, p,
+                                           pack_pos_to_index(p, base_pos));
        } else
                return -1;
 }