object: add repository argument to object_as_type
authorStefan Beller <sbeller@google.com>
Fri, 29 Jun 2018 01:21:54 +0000 (18:21 -0700)
committerJunio C Hamano <gitster@pobox.com>
Fri, 29 Jun 2018 17:43:38 +0000 (10:43 -0700)
Signed-off-by: Stefan Beller <sbeller@google.com>
Signed-off-by: Junio C Hamano <gitster@pobox.com>
blob.c
builtin/fsck.c
commit.c
object.c
object.h
refs.c
tag.c
tree.c
diff --git a/blob.c b/blob.c
index 75b737a761e369d2c184d4fb38aee6a69bc62222..dada295698cebb6053737d9df0af7f2e95ff087c 100644 (file)
--- a/blob.c
+++ b/blob.c
@@ -11,7 +11,7 @@ struct blob *lookup_blob(const struct object_id *oid)
        if (!obj)
                return create_object(the_repository, oid->hash,
                                     alloc_blob_node(the_repository));
-       return object_as_type(obj, OBJ_BLOB, 0);
+       return object_as_type(the_repository, obj, OBJ_BLOB, 0);
 }
 
 int parse_blob_buffer(struct blob *item, void *buffer, unsigned long size)
index 09cf5333444ff1fc3737e6e44d34714e5af3b76c..a906fe4a82b13427d51cbc564cef0242033be5db 100644 (file)
@@ -70,7 +70,7 @@ static const char *printable_type(struct object *obj)
                enum object_type type = oid_object_info(the_repository,
                                                        &obj->oid, NULL);
                if (type > 0)
-                       object_as_type(obj, type, 0);
+                       object_as_type(the_repository, obj, type, 0);
        }
 
        ret = type_name(obj->type);
index b4dbfd889a337090bc5d4d2a5401a9bc3784f9ee..0d55600e643225f02738f5b1c7943c9a95cc9014 100644 (file)
--- a/commit.c
+++ b/commit.c
@@ -32,7 +32,7 @@ struct commit *lookup_commit_reference_gently(const struct object_id *oid,
 
        if (!obj)
                return NULL;
-       return object_as_type(obj, OBJ_COMMIT, quiet);
+       return object_as_type(the_repository, obj, OBJ_COMMIT, quiet);
 }
 
 struct commit *lookup_commit_reference(const struct object_id *oid)
@@ -58,7 +58,7 @@ struct commit *lookup_commit(const struct object_id *oid)
        if (!obj)
                return create_object(the_repository, oid->hash,
                                     alloc_commit_node(the_repository));
-       return object_as_type(obj, OBJ_COMMIT, 0);
+       return object_as_type(the_repository, obj, OBJ_COMMIT, 0);
 }
 
 struct commit *lookup_commit_reference_by_name(const char *name)
index 49719694c146c118cb7a4ff8e532203039006b82..404919043d478ead8e6a1c894c4474fe068150b9 100644 (file)
--- a/object.c
+++ b/object.c
@@ -158,7 +158,7 @@ void *create_object(struct repository *r, const unsigned char *sha1, void *o)
        return obj;
 }
 
-void *object_as_type(struct object *obj, enum object_type type, int quiet)
+void *object_as_type_the_repository(struct object *obj, enum object_type type, int quiet)
 {
        if (obj->type == type)
                return obj;
index 2ba23c07a72167ec26fd5092c7a500f90932a0bd..3faa89578fcf164679df8cae99a4b3be0469218a 100644 (file)
--- a/object.h
+++ b/object.h
@@ -114,7 +114,8 @@ struct object *lookup_object_the_repository(const unsigned char *sha1);
 
 extern void *create_object(struct repository *r, const unsigned char *sha1, void *obj);
 
-void *object_as_type(struct object *obj, enum object_type type, int quiet);
+#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);
 
 /*
  * Returns the object, having parsed it to find out what it is.
diff --git a/refs.c b/refs.c
index 3b4508a97aa23fa4a16bb64137b01c16b2b4b59d..fcfd3171e83a116d4ba2014b2f88622969f21a2d 100644 (file)
--- a/refs.c
+++ b/refs.c
@@ -305,7 +305,7 @@ enum peel_status peel_object(const struct object_id *name, struct object_id *oid
 
        if (o->type == OBJ_NONE) {
                int type = oid_object_info(the_repository, name, NULL);
-               if (type < 0 || !object_as_type(o, type, 0))
+               if (type < 0 || !object_as_type(the_repository, o, type, 0))
                        return PEEL_INVALID;
        }
 
diff --git a/tag.c b/tag.c
index 1b95eb9f07fe3c2932611d297558e3b020db4f1e..a14a4f230374193255611960b2a00936caa4eab0 100644 (file)
--- a/tag.c
+++ b/tag.c
@@ -98,7 +98,7 @@ struct tag *lookup_tag(const struct object_id *oid)
        if (!obj)
                return create_object(the_repository, oid->hash,
                                     alloc_tag_node(the_repository));
-       return object_as_type(obj, OBJ_TAG, 0);
+       return object_as_type(the_repository, obj, OBJ_TAG, 0);
 }
 
 static timestamp_t parse_tag_date(const char *buf, const char *tail)
diff --git a/tree.c b/tree.c
index 73e8a8a948dc20b6e1fbe11cced5919477de67bb..f31afb81be0292b4bf5eadcbc5ecb451e5fb69ab 100644 (file)
--- a/tree.c
+++ b/tree.c
@@ -201,7 +201,7 @@ struct tree *lookup_tree(const struct object_id *oid)
        if (!obj)
                return create_object(the_repository, oid->hash,
                                     alloc_tree_node(the_repository));
-       return object_as_type(obj, OBJ_TREE, 0);
+       return object_as_type(the_repository, obj, OBJ_TREE, 0);
 }
 
 int parse_tree_buffer(struct tree *item, void *buffer, unsigned long size)