From: Stefan Beller Date: Wed, 25 Apr 2018 18:21:03 +0000 (-0700) Subject: packfile: add repository argument to read_object X-Git-Tag: v2.18.0-rc0~57^2~3 X-Git-Url: https://git.lorimer.id.au/gitweb.git/diff_plain/5da6534dd6ef72970989aa5a4194e13e6a587bd6 packfile: add repository argument to read_object Add a repository argument to allow the callers of read_object to be more specific about which repository to act on. 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: Stefan Beller Reviewed-by: Jonathan Tan Signed-off-by: Junio C Hamano --- diff --git a/packfile.c b/packfile.c index 5fa7d27d3b..2876e04bb1 100644 --- a/packfile.c +++ b/packfile.c @@ -1469,8 +1469,10 @@ struct unpack_entry_stack_ent { unsigned long size; }; -static void *read_object(const struct object_id *oid, enum object_type *type, - unsigned long *size) +#define read_object(r, o, t, s) read_object_##r(o, t, s) +static void *read_object_the_repository(const struct object_id *oid, + enum object_type *type, + unsigned long *size) { struct object_info oi = OBJECT_INFO_INIT; void *content; @@ -1614,7 +1616,7 @@ void *unpack_entry(struct packed_git *p, off_t obj_offset, oid_to_hex(&base_oid), (uintmax_t)obj_offset, p->pack_name); mark_bad_packed_object(p, base_oid.hash); - base = read_object(&base_oid, &type, &base_size); + base = read_object(the_repository, &base_oid, &type, &base_size); external_base = base; } }