packfile: add repository argument to packed_to_object_type

Add a repository argument to allow the callers of packed_to_object_type 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@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 144f4948a134ed3eedeb87b688408c9d4da094ff
1 file changed +9 -7
packfile.c
+9 -7
@@ -1124,11 +1124,13 @@ static int retry_bad_packed_offset_the_repository(struct packed_git *p, off_t ob
1124
1125 #define POI_STACK_PREALLOC 64
1126
1127 -static enum object_type packed_to_object_type(struct packed_git *p,
1128 - off_t obj_offset,
1129 - enum object_type type,
1130 - struct pack_window **w_curs,
1131 - off_t curpos)
1127 +#define packed_to_object_type(r, p, o, t, w, c) \
1128 + packed_to_object_type_##r(p, o, t, w, c)
1129 +static enum object_type packed_to_object_type_the_repository(struct packed_git *p,
1130 + off_t obj_offset,
1131 + enum object_type type,
1132 + struct pack_window **w_curs,
1133 + off_t curpos)
1134 {
1135 off_t small_poi_stack[POI_STACK_PREALLOC];
1136 off_t *poi_stack = small_poi_stack;
@@ -1378,8 +1380,8 @@ int packed_object_info(struct packed_git *p, off_t obj_offset,
1380
1381 if (oi->typep || oi->type_name) {
1382 enum object_type ptot;
1381 - ptot = packed_to_object_type(p, obj_offset, type, &w_curs,
1382 - curpos);
1383 + ptot = packed_to_object_type(the_repository, p, obj_offset,
1384 + type, &w_curs, curpos);
1385 if (oi->typep)
1386 *oi->typep = ptot;
1387 if (oi->type_name) {