packfile: convert unpack_entry to struct object_id

Convert unpack_entry and read_object to use struct object_id. Signed-off-by: Junio C Hamano <gitster@pobox.com>

brian m. carlson committed Mar 12, 2018 at 02:27 UTC 4310b0c441e51fbba13888cb1373d27efcc018ef
1 file changed +11 -11
packfile.c
+11 -11
@@ -1452,7 +1452,7 @@ struct unpack_entry_stack_ent {
1452 unsigned long size;
1453 };
1454
1455 -static void *read_object(const unsigned char *sha1, enum object_type *type,
1455 +static void *read_object(const struct object_id *oid, enum object_type *type,
1456 unsigned long *size)
1457 {
1458 struct object_info oi = OBJECT_INFO_INIT;
@@ -1461,7 +1461,7 @@ static void *read_object(const unsigned char *sha1, enum object_type *type,
1461 oi.sizep = size;
1462 oi.contentp = &content;
1463
1464 - if (sha1_object_info_extended(sha1, &oi, 0) < 0)
1464 + if (sha1_object_info_extended(oid->hash, &oi, 0) < 0)
1465 return NULL;
1466 return content;
1467 }
@@ -1501,11 +1501,11 @@ void *unpack_entry(struct packed_git *p, off_t obj_offset,
1501 struct revindex_entry *revidx = find_pack_revindex(p, obj_offset);
1502 off_t len = revidx[1].offset - obj_offset;
1503 if (check_pack_crc(p, &w_curs, obj_offset, len, revidx->nr)) {
1504 - const unsigned char *sha1 =
1505 - nth_packed_object_sha1(p, revidx->nr);
1504 + struct object_id oid;
1505 + nth_packed_object_oid(&oid, p, revidx->nr);
1506 error("bad packed object CRC for %s",
1507 - sha1_to_hex(sha1));
1508 - mark_bad_packed_object(p, sha1);
1507 + oid_to_hex(&oid));
1508 + mark_bad_packed_object(p, oid.hash);
1509 data = NULL;
1510 goto out;
1511 }
@@ -1588,16 +1588,16 @@ void *unpack_entry(struct packed_git *p, off_t obj_offset,
1588 * of a corrupted pack, and is better than failing outright.
1589 */
1590 struct revindex_entry *revidx;
1591 - const unsigned char *base_sha1;
1591 + struct object_id base_oid;
1592 revidx = find_pack_revindex(p, obj_offset);
1593 if (revidx) {
1594 - base_sha1 = nth_packed_object_sha1(p, revidx->nr);
1594 + nth_packed_object_oid(&base_oid, p, revidx->nr);
1595 error("failed to read delta base object %s"
1596 " at offset %"PRIuMAX" from %s",
1597 - sha1_to_hex(base_sha1), (uintmax_t)obj_offset,
1597 + oid_to_hex(&base_oid), (uintmax_t)obj_offset,
1598 p->pack_name);
1599 - mark_bad_packed_object(p, base_sha1);
1600 - base = read_object(base_sha1, &type, &base_size);
1599 + mark_bad_packed_object(p, base_oid.hash);
1600 + base = read_object(&base_oid, &type, &base_size);
1601 external_base = base;
1602 }
1603 }