http-push: convert process_ls_object and descendants to object_id
[gitweb.git] / object.c
index fe222235668c125c5baec251d5c8c7ba9d509b02..dd4d3a1ea738c9fefc3112ed6aa0e6d57dbc7cd3 100644 (file)
--- a/object.c
+++ b/object.c
@@ -190,14 +190,14 @@ struct object *parse_object_buffer(const unsigned char *sha1, enum object_type t
 
        obj = NULL;
        if (type == OBJ_BLOB) {
-               struct blob *blob = lookup_blob(sha1);
+               struct blob *blob = lookup_blob(&oid);
                if (blob) {
                        if (parse_blob_buffer(blob, buffer, size))
                                return NULL;
                        obj = &blob->object;
                }
        } else if (type == OBJ_TREE) {
-               struct tree *tree = lookup_tree(sha1);
+               struct tree *tree = lookup_tree(&oid);
                if (tree) {
                        obj = &tree->object;
                        if (!tree->buffer)
@@ -220,7 +220,7 @@ struct object *parse_object_buffer(const unsigned char *sha1, enum object_type t
                        obj = &commit->object;
                }
        } else if (type == OBJ_TAG) {
-               struct tag *tag = lookup_tag(sha1);
+               struct tag *tag = lookup_tag(&oid);
                if (tag) {
                        if (parse_tag_buffer(tag, buffer, size))
                               return NULL;
@@ -251,8 +251,11 @@ struct object *parse_object(const unsigned char *sha1)
        const unsigned char *repl = lookup_replace_object(sha1);
        void *buffer;
        struct object *obj;
+       struct object_id oid;
+
+       hashcpy(oid.hash, sha1);
 
-       obj = lookup_object(sha1);
+       obj = lookup_object(oid.hash);
        if (obj && obj->parsed)
                return obj;
 
@@ -263,7 +266,7 @@ struct object *parse_object(const unsigned char *sha1)
                        error("sha1 mismatch %s", sha1_to_hex(repl));
                        return NULL;
                }
-               parse_blob_buffer(lookup_blob(sha1), NULL, 0);
+               parse_blob_buffer(lookup_blob(&oid), NULL, 0);
                return lookup_object(sha1);
        }