Skip to content

Commit

Permalink
packfile: add repository argument to retry_bad_packed_offset
Browse files Browse the repository at this point in the history
Add a repository argument to allow the callers of retry_bad_packed_offset
to be more specific about which repository to handle. This is a small
mechanical change; it doesn't change the implementation to handle
repositories other than the_repository yet.

As with the previous commits, use a macro to catch callers passing a
repository other than the_repository at compile time.

Signed-off-by: Jonathan Nieder <[email protected]>
Signed-off-by: Stefan Beller <[email protected]>
Reviewed-by: Jonathan Tan <[email protected]>
Signed-off-by: Junio C Hamano <[email protected]>
  • Loading branch information
stefanbeller authored and gitster committed Apr 26, 2018
1 parent 0df8e96 commit 0df2378
Showing 1 changed file with 5 additions and 3 deletions.
8 changes: 5 additions & 3 deletions packfile.c
Original file line number Diff line number Diff line change
Expand Up @@ -1104,7 +1104,9 @@ static const unsigned char *get_delta_base_sha1(struct packed_git *p,
return NULL;
}

static int retry_bad_packed_offset(struct packed_git *p, off_t obj_offset)
#define retry_bad_packed_offset(r, p, o) \
retry_bad_packed_offset_##r(p, o)
static int retry_bad_packed_offset_the_repository(struct packed_git *p, off_t obj_offset)
{
int type;
struct revindex_entry *revidx;
Expand Down Expand Up @@ -1153,7 +1155,7 @@ static enum object_type packed_to_object_type(struct packed_git *p,
if (type <= OBJ_NONE) {
/* If getting the base itself fails, we first
* retry the base, otherwise unwind */
type = retry_bad_packed_offset(p, base_offset);
type = retry_bad_packed_offset(the_repository, p, base_offset);
if (type > OBJ_NONE)
goto out;
goto unwind;
Expand Down Expand Up @@ -1181,7 +1183,7 @@ static enum object_type packed_to_object_type(struct packed_git *p,
unwind:
while (poi_stack_nr) {
obj_offset = poi_stack[--poi_stack_nr];
type = retry_bad_packed_offset(p, obj_offset);
type = retry_bad_packed_offset(the_repository, p, obj_offset);
if (type > OBJ_NONE)
goto out;
}
Expand Down

0 comments on commit 0df2378

Please sign in to comment.