Skip to content

Commit

Permalink
fsck: drop blob struct from fsck_finish()
Browse files Browse the repository at this point in the history
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>
  • Loading branch information
peff authored and gitster committed Oct 28, 2019
1 parent 6da40b2 commit b8b00f1
Showing 1 changed file with 4 additions and 14 deletions.
18 changes: 4 additions & 14 deletions fsck.c
Expand Up @@ -1013,39 +1013,29 @@ 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;

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);
Expand Down

0 comments on commit b8b00f1

Please sign in to comment.