Web lists-archives.com

[PATCH 111/194] object-store: add repository argument to read_object

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;