packfile: add repository argument to cache_or_unpack_entry

Add a repository argument to allow the callers of cache_or_unpack_entry 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: Jonathan Nieder <jrnieder@gmail.com> Signed-off-by: Stefan Beller <sbeller@google.com> Reviewed-by: Jonathan Tan <jonathantanmy@google.com> Signed-off-by: Junio C Hamano <gitster@pobox.com>

Stefan Beller committed Apr 25, 2018 at 11:21 UTC 589de911852cc3ce689fa3702ecb54c0049aeec1
1 file changed +3 -2
packfile.c
+3 -2
@@ -1272,7 +1272,8 @@ static void detach_delta_base_cache_entry(struct delta_base_cache_entry *ent)
1272 free(ent);
1273 }
1274
1275 -static void *cache_or_unpack_entry(struct packed_git *p, off_t base_offset,
1275 +#define cache_or_unpack_entry(r, p, bo, bs, t) cache_or_unpack_entry_##r(p, bo, bs, t)
1276 +static void *cache_or_unpack_entry_the_repository(struct packed_git *p, off_t base_offset,
1277 unsigned long *base_size, enum object_type *type)
1278 {
1279 struct delta_base_cache_entry *ent;
@@ -1346,7 +1347,7 @@ int packed_object_info_the_repository(struct packed_git *p, off_t obj_offset,
1347 * a "real" type later if the caller is interested.
1348 */
1349 if (oi->contentp) {
1349 - *oi->contentp = cache_or_unpack_entry(p, obj_offset, oi->sizep,
1350 + *oi->contentp = cache_or_unpack_entry(the_repository, p, obj_offset, oi->sizep,
1351 &type);
1352 if (!*oi->contentp)
1353 type = OBJ_BAD;