/* Header consistency check */
hdr = p->pack_base;
if (hdr->hdr_signature != htonl(PACK_SIGNATURE))
- return error("Packfile signature mismatch", p->pack_name);
- if (hdr->hdr_version != htonl(PACK_VERSION))
- return error("Packfile version %d different from ours %d",
- ntohl(hdr->hdr_version), PACK_VERSION);
+ return error("Packfile %s signature mismatch", p->pack_name);
+ if (!pack_version_ok(hdr->hdr_version))
+ return error("Packfile version %d unsupported",
+ ntohl(hdr->hdr_version));
nr_objects = ntohl(hdr->hdr_entries);
if (num_packed_objects(p) != nr_objects)
return error("Packfile claims to have %d objects, "
continue;
}
if (check_sha1_signature(sha1, data, size, type)) {
- err = error("cannot packed %s from %s corrupt",
+ err = error("packed %s from %s is corrupt",
sha1_to_hex(sha1), p->pack_name);
free(data);
continue;