From a962da1ef59c71b6b18f71aeb25f1edaa99769f6 Mon Sep 17 00:00:00 2001 From: Stefan Beller Date: Thu, 28 Jun 2018 18:22:06 -0700 Subject: [PATCH] object: allow object_as_type to handle arbitrary repositories Signed-off-by: Stefan Beller Signed-off-by: Junio C Hamano --- object.c | 4 ++-- object.h | 3 +-- 2 files changed, 3 insertions(+), 4 deletions(-) diff --git a/object.c b/object.c index e095d49b37..f41f82c672 100644 --- a/object.c +++ b/object.c @@ -158,13 +158,13 @@ void *create_object(struct repository *r, const unsigned char *sha1, void *o) return obj; } -void *object_as_type_the_repository(struct object *obj, enum object_type type, int quiet) +void *object_as_type(struct repository *r, struct object *obj, enum object_type type, int quiet) { if (obj->type == type) return obj; else if (obj->type == OBJ_NONE) { if (type == OBJ_COMMIT) - ((struct commit *)obj)->index = alloc_commit_index(the_repository); + ((struct commit *)obj)->index = alloc_commit_index(r); obj->type = type; return obj; } diff --git a/object.h b/object.h index 3faa89578f..6f3271eb22 100644 --- a/object.h +++ b/object.h @@ -114,8 +114,7 @@ struct object *lookup_object_the_repository(const unsigned char *sha1); extern void *create_object(struct repository *r, const unsigned char *sha1, void *obj); -#define object_as_type(r, o, t, q) object_as_type_##r(o, t, q) -void *object_as_type_the_repository(struct object *obj, enum object_type type, int quiet); +void *object_as_type(struct repository *r, struct object *obj, enum object_type type, int quiet); /* * Returns the object, having parsed it to find out what it is.