pack: convert struct pack_idx_entry to struct object_id
[gitweb.git] / object.c
index e680d881a45756eb234a80a9909c24a7b146c1f7..fe222235668c125c5baec251d5c8c7ba9d509b02 100644 (file)
--- a/object.c
+++ b/object.c
@@ -182,9 +182,12 @@ struct object *lookup_unknown_object(const unsigned char *sha1)
 
 struct object *parse_object_buffer(const unsigned char *sha1, enum object_type type, unsigned long size, void *buffer, int *eaten_p)
 {
+       struct object_id oid;
        struct object *obj;
        *eaten_p = 0;
 
+       hashcpy(oid.hash, sha1);
+
        obj = NULL;
        if (type == OBJ_BLOB) {
                struct blob *blob = lookup_blob(sha1);
@@ -206,7 +209,7 @@ struct object *parse_object_buffer(const unsigned char *sha1, enum object_type t
                        }
                }
        } else if (type == OBJ_COMMIT) {
-               struct commit *commit = lookup_commit(sha1);
+               struct commit *commit = lookup_commit(&oid);
                if (commit) {
                        if (parse_commit_buffer(commit, buffer, size))
                                return NULL;