From: Jonathan Nieder <jrnieder@xxxxxxxxx> Add a repository argument to allow callers of read_object 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 <jrnieder@xxxxxxxxx> Signed-off-by: Stefan Beller <sbeller@xxxxxxxxxx> --- sha1_file.c | 7 ++++--- 1 file changed, 4 insertions(+), 3 deletions(-) diff --git a/sha1_file.c b/sha1_file.c index 9ef25e6154..e62595e3e2 100644 --- a/sha1_file.c +++ b/sha1_file.c @@ -1319,7 +1319,8 @@ int sha1_object_info(struct repository *r, return type; } -static void *read_object(const unsigned char *sha1, enum object_type *type, +#define read_object(r, s, t, sz) read_object_##r(s, t, sz) +static void *read_object_the_repository(const unsigned char *sha1, enum object_type *type, unsigned long *size) { struct object_info oi = OBJECT_INFO_INIT; @@ -1369,7 +1370,7 @@ void *read_sha1_file_extended(const unsigned char *sha1, lookup_replace_object(the_repository, sha1) : sha1; errno = 0; - data = read_object(repl, type, size); + data = read_object(the_repository, repl, type, size); if (data) return data; @@ -1701,7 +1702,7 @@ int force_object_loose(const unsigned char *sha1, time_t mtime) if (has_loose_object(sha1)) return 0; - buf = read_object(sha1, &type, &len); + buf = read_object(the_repository, sha1, &type, &len); if (!buf) return error("cannot read sha1_file for %s", sha1_to_hex(sha1)); hdrlen = xsnprintf(hdr, sizeof(hdr), "%s %lu", typename(type), len) + 1; -- 2.15.1.433.g936d1b9894.dirty