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) {