From 1268dfac1e98e973c63abb142551c64bba6a44ca Mon Sep 17 00:00:00 2001 From: Stefan Beller Date: Thu, 28 Jun 2018 18:21:54 -0700 Subject: object: add repository argument to object_as_type Signed-off-by: Stefan Beller Signed-off-by: Junio C Hamano diff --git a/blob.c b/blob.c index 75b737a..dada295 100644 --- 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) diff --git a/builtin/fsck.c b/builtin/fsck.c index 09cf533..a906fe4 100644 --- a/builtin/fsck.c +++ b/builtin/fsck.c @@ -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); diff --git a/commit.c b/commit.c index b4dbfd8..0d55600 100644 --- 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) diff --git a/object.c b/object.c index 4971969..4049190 100644 --- 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; diff --git a/object.h b/object.h index 2ba23c0..3faa895 100644 --- 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 3b4508a..fcfd317 100644 --- 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 1b95eb9..a14a4f2 100644 --- 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 73e8a8a..f31afb8 100644 --- 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) -- cgit v0.10.2-6-g49f6