sha1_file: add repository argument to sha1_loose_object_info

Add a repository argument to allow the sha1_loose_object_info caller 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 <sbeller@google.com> Signed-off-by: Jonathan Nieder <jrnieder@gmail.com> Signed-off-by: Junio C Hamano <gitster@pobox.com> Signed-off-by: Nguyễn Thái Ngọc Duy <pclouds@gmail.com> Signed-off-by: Junio C Hamano <gitster@pobox.com>

Stefan Beller committed Mar 23, 2018 at 18:21 UTC e977fc7469d0524b31eea22431b7c6ef6616741f
1 file changed +5 -4
sha1_file.c
+5 -4
@@ -1152,9 +1152,10 @@ int parse_sha1_header(const char *hdr, unsigned long *sizep)
1152 return parse_sha1_header_extended(hdr, &oi, 0);
1153 }
1154
1155 -static int sha1_loose_object_info(const unsigned char *sha1,
1156 - struct object_info *oi,
1157 - int flags)
1155 +#define sha1_loose_object_info(r, s, o, f) sha1_loose_object_info_##r(s, o, f)
1156 +static int sha1_loose_object_info_the_repository(const unsigned char *sha1,
1157 + struct object_info *oi,
1158 + int flags)
1159 {
1160 int status = 0;
1161 unsigned long mapsize;
@@ -1273,7 +1274,7 @@ int sha1_object_info_extended(const unsigned char *sha1, struct object_info *oi,
1274 break;
1275
1276 /* Most likely it's a loose object. */
1276 - if (!sha1_loose_object_info(real, oi, flags))
1277 + if (!sha1_loose_object_info(the_repository, real, oi, flags))
1278 return 0;
1279
1280 /* Not a loose object; someone else may have just packed it. */