object: add repository argument to object_as_type

Signed-off-by: Stefan Beller <sbeller@google.com>
Signed-off-by: Junio C Hamano <gitster@pobox.com>
This commit is contained in:
Stefan Beller 2018-06-28 18:21:54 -07:00 committed by Junio C Hamano
parent 1ec5bfd24e
commit 1268dfac1e
8 changed files with 10 additions and 9 deletions

2
blob.c
View file

@ -11,7 +11,7 @@ struct blob *lookup_blob(const struct object_id *oid)
if (!obj) if (!obj)
return create_object(the_repository, oid->hash, return create_object(the_repository, oid->hash,
alloc_blob_node(the_repository)); 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) int parse_blob_buffer(struct blob *item, void *buffer, unsigned long size)

View file

@ -70,7 +70,7 @@ static const char *printable_type(struct object *obj)
enum object_type type = oid_object_info(the_repository, enum object_type type = oid_object_info(the_repository,
&obj->oid, NULL); &obj->oid, NULL);
if (type > 0) if (type > 0)
object_as_type(obj, type, 0); object_as_type(the_repository, obj, type, 0);
} }
ret = type_name(obj->type); ret = type_name(obj->type);

View file

@ -32,7 +32,7 @@ struct commit *lookup_commit_reference_gently(const struct object_id *oid,
if (!obj) if (!obj)
return NULL; 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) 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) if (!obj)
return create_object(the_repository, oid->hash, return create_object(the_repository, oid->hash,
alloc_commit_node(the_repository)); 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) struct commit *lookup_commit_reference_by_name(const char *name)

View file

@ -158,7 +158,7 @@ void *create_object(struct repository *r, const unsigned char *sha1, void *o)
return obj; 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) if (obj->type == type)
return obj; return obj;

View file

@ -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); 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. * Returns the object, having parsed it to find out what it is.

2
refs.c
View file

@ -305,7 +305,7 @@ enum peel_status peel_object(const struct object_id *name, struct object_id *oid
if (o->type == OBJ_NONE) { if (o->type == OBJ_NONE) {
int type = oid_object_info(the_repository, name, NULL); 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; return PEEL_INVALID;
} }

2
tag.c
View file

@ -98,7 +98,7 @@ struct tag *lookup_tag(const struct object_id *oid)
if (!obj) if (!obj)
return create_object(the_repository, oid->hash, return create_object(the_repository, oid->hash,
alloc_tag_node(the_repository)); 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) static timestamp_t parse_tag_date(const char *buf, const char *tail)

2
tree.c
View file

@ -201,7 +201,7 @@ struct tree *lookup_tree(const struct object_id *oid)
if (!obj) if (!obj)
return create_object(the_repository, oid->hash, return create_object(the_repository, oid->hash,
alloc_tree_node(the_repository)); 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) int parse_tree_buffer(struct tree *item, void *buffer, unsigned long size)