diff options
author | Jeff King <peff@peff.net> | 2019-10-18 00:59:54 -0400 |
---|---|---|
committer | Junio C Hamano <gitster@pobox.com> | 2019-10-28 14:05:18 +0900 |
commit | b8b00f1693c149ba03e34d56d8804256e74f6eab (patch) | |
tree | 39a434976e6ee23fdcc486742127270792b1a96a | |
parent | fsck: accept an oid instead of a "struct blob" for fsck_blob() (diff) | |
download | tgif-b8b00f1693c149ba03e34d56d8804256e74f6eab.tar.xz |
fsck: drop blob struct from fsck_finish()
Since fsck_blob() no longer requires us to have a "struct blob", we
don't need to create one. Which also means we don't need to worry about
handling the case that lookup_blob() returns NULL (we'll still catch
wrongly-identified blobs when we read the actual object contents and
type from disk).
Signed-off-by: Jeff King <peff@peff.net>
Signed-off-by: Junio C Hamano <gitster@pobox.com>
-rw-r--r-- | fsck.c | 18 |
1 files changed, 4 insertions, 14 deletions
@@ -1013,7 +1013,6 @@ int fsck_finish(struct fsck_options *options) oidset_iter_init(&gitmodules_found, &iter); while ((oid = oidset_iter_next(&iter))) { - struct blob *blob; enum object_type type; unsigned long size; char *buf; @@ -1021,31 +1020,22 @@ int fsck_finish(struct fsck_options *options) if (oidset_contains(&gitmodules_done, oid)) continue; - blob = lookup_blob(the_repository, oid); - if (!blob) { - struct object *obj = lookup_unknown_object(oid); - ret |= report(options, &obj->oid, obj->type, - FSCK_MSG_GITMODULES_BLOB, - "non-blob found at .gitmodules"); - continue; - } - buf = read_object_file(oid, &type, &size); if (!buf) { - if (is_promisor_object(&blob->object.oid)) + if (is_promisor_object(oid)) continue; ret |= report(options, - &blob->object.oid, blob->object.type, + oid, OBJ_BLOB, FSCK_MSG_GITMODULES_MISSING, "unable to read .gitmodules blob"); continue; } if (type == OBJ_BLOB) - ret |= fsck_blob(&blob->object.oid, buf, size, options); + ret |= fsck_blob(oid, buf, size, options); else ret |= report(options, - &blob->object.oid, blob->object.type, + oid, type, FSCK_MSG_GITMODULES_BLOB, "non-blob found at .gitmodules"); free(buf); |