From: Jonathan Nieder <[email protected]>

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 <[email protected]>
Signed-off-by: Stefan Beller <[email protected]>
---
 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

Reply via email to