Re: [PATCH 2/7] move setting of object->type to alloc_* functions
- From
Ramsay Jones <ramsay@ramsay1.demon.co.uk>
- Date
- Jul 12, 2014, 14:55 UTC
- Message-ID
- <53C14C67.60300@ramsay1.demon.co.uk>
- In-Reply-To
- <20140711084611.GB5625@sigill.intra.peff.net>
On 11/07/14 09:46, Jeff King wrote:
[snip]
Sorry, hit send too early ...
Show 36 quoted lines
> diff --git a/blob.c b/blob.c
> index ae320bd..5720a38 100644
> --- a/blob.c
> +++ b/blob.c
> @@ -7,7 +7,7 @@ struct blob *lookup_blob(const unsigned char *sha1)
> {
> struct object *obj = lookup_object(sha1);
> if (!obj)
> - return create_object(sha1, OBJ_BLOB, alloc_blob_node());
> + return create_object(sha1, alloc_blob_node());
> if (!obj->type)
> obj->type = OBJ_BLOB;
> if (obj->type != OBJ_BLOB) {
> diff --git a/builtin/blame.c b/builtin/blame.c
> index d3b256e..8f3e311 100644
> --- a/builtin/blame.c
> +++ b/builtin/blame.c
> @@ -2287,7 +2287,6 @@ static struct commit *fake_working_tree_commit(struct diff_options *opt,
> commit = alloc_commit_node();
> commit->object.parsed = 1;
> commit->date = now;
> - commit->object.type = OBJ_COMMIT;
> parent_tail = &commit->parents;
>
> if (!resolve_ref_unsafe("HEAD", head_sha1, 1, NULL))
> diff --git a/commit.c b/commit.c
> index fb7897c..21ed310 100644
> --- a/commit.c
> +++ b/commit.c
> @@ -63,7 +63,7 @@ struct commit *lookup_commit(const unsigned char *sha1)
> struct object *obj = lookup_object(sha1);
> if (!obj) {
> struct commit *c = alloc_commit_node();
> - return create_object(sha1, OBJ_COMMIT, c);
> + return create_object(sha1, c);
> }perhaps: if (!obj) return create_object(sha1, alloc_commit_node());
(increasing similarity with other calls here ...)
Show 70 quoted lines
> if (!obj->type)
> obj->type = OBJ_COMMIT;
> diff --git a/object.c b/object.c
> index 9c31e9a..a950b85 100644
> --- a/object.c
> +++ b/object.c
> @@ -141,13 +141,12 @@ static void grow_object_hash(void)
> obj_hash_size = new_hash_size;
> }
>
> -void *create_object(const unsigned char *sha1, int type, void *o)
> +void *create_object(const unsigned char *sha1, void *o)
> {
> struct object *obj = o;
>
> obj->parsed = 0;
> obj->used = 0;
> - obj->type = type;
> obj->flags = 0;
> hashcpy(obj->sha1, sha1);
>
> @@ -163,7 +162,7 @@ struct object *lookup_unknown_object(const unsigned char *sha1)
> {
> struct object *obj = lookup_object(sha1);
> if (!obj)
> - obj = create_object(sha1, OBJ_NONE, alloc_object_node());
> + obj = create_object(sha1, alloc_object_node());
> return obj;
> }
>
> diff --git a/object.h b/object.h
> index 6e12f2c..8020ace 100644
> --- a/object.h
> +++ b/object.h
> @@ -79,7 +79,7 @@ extern struct object *get_indexed_object(unsigned int);
> */
> struct object *lookup_object(const unsigned char *sha1);
>
> -extern void *create_object(const unsigned char *sha1, int type, void *obj);
> +extern void *create_object(const unsigned char *sha1, void *obj);
>
> /*
> * Returns the object, having parsed it to find out what it is.
> diff --git a/tag.c b/tag.c
> index 7b07921..79552c7 100644
> --- a/tag.c
> +++ b/tag.c
> @@ -40,7 +40,7 @@ struct tag *lookup_tag(const unsigned char *sha1)
> {
> struct object *obj = lookup_object(sha1);
> if (!obj)
> - return create_object(sha1, OBJ_TAG, alloc_tag_node());
> + return create_object(sha1, alloc_tag_node());
> if (!obj->type)
> obj->type = OBJ_TAG;
> if (obj->type != OBJ_TAG) {
> diff --git a/tree.c b/tree.c
> index c8c49d7..ed66575 100644
> --- a/tree.c
> +++ b/tree.c
> @@ -183,7 +183,7 @@ struct tree *lookup_tree(const unsigned char *sha1)
> {
> struct object *obj = lookup_object(sha1);
> if (!obj)
> - return create_object(sha1, OBJ_TREE, alloc_tree_node());
> + return create_object(sha1, alloc_tree_node());
> if (!obj->type)
> obj->type = OBJ_TREE;
> if (obj->type != OBJ_TREE) {
> ATB, Ramsay Jones