Code

Fix 'diff' attribute semantics.
[git.git] / sha1_file.c
index 9c260384201857eb32d07c87e1178fd3947968ee..4304fe9bbc2b8e796e944fa7ddb2ea2791000adf 100644 (file)
@@ -1532,15 +1532,14 @@ uint32_t num_packed_objects(const struct packed_git *p)
        return (uint32_t)((p->index_size - 20 - 20 - 4*256) / 24);
 }
 
-int nth_packed_object_sha1(const struct packed_git *p, uint32_t n,
-                          unsigned char* sha1)
+const unsigned char *nth_packed_object_sha1(const struct packed_git *p,
+                                           uint32_t n)
 {
        const unsigned char *index = p->index_data;
        index += 4 * 256;
        if (num_packed_objects(p) <= n)
-               return -1;
-       hashcpy(sha1, index + 24 * n + 4);
-       return 0;
+               return NULL;
+       return index + 24 * n + 4;
 }
 
 off_t find_pack_entry_one(const unsigned char *sha1,