From: Jeff King Date: Fri, 18 Oct 2019 04:58:51 +0000 (-0400) Subject: fsck: only require an oid for skiplist functions X-Git-Tag: v2.25.0-rc0~133^2~9 X-Git-Url: http://git.ipfire.org/?a=commitdiff_plain;h=f59793763deb970dd5acffe2dffd34e791d44df8;p=thirdparty%2Fgit.git fsck: only require an oid for skiplist functions The skiplist is inherently an oidset, so we don't need a full object struct. Let's take just the oid to give our callers more flexibility. Signed-off-by: Jeff King Signed-off-by: Junio C Hamano --- diff --git a/fsck.c b/fsck.c index c036ba09ab..2309c40a11 100644 --- a/fsck.c +++ b/fsck.c @@ -277,9 +277,10 @@ static void append_msg_id(struct strbuf *sb, const char *msg_id) strbuf_addstr(sb, ": "); } -static int object_on_skiplist(struct fsck_options *opts, struct object *obj) +static int object_on_skiplist(struct fsck_options *opts, + const struct object_id *oid) { - return opts && obj && oidset_contains(&opts->skiplist, &obj->oid); + return opts && oid && oidset_contains(&opts->skiplist, oid); } __attribute__((format (printf, 4, 5))) @@ -293,7 +294,7 @@ static int report(struct fsck_options *options, struct object *object, if (msg_type == FSCK_IGNORE) return 0; - if (object_on_skiplist(options, object)) + if (object_on_skiplist(options, &object->oid)) return 0; if (msg_type == FSCK_FATAL) @@ -935,7 +936,7 @@ static int fsck_blob(struct blob *blob, const char *buf, return 0; oidset_insert(&gitmodules_done, &blob->object.oid); - if (object_on_skiplist(options, &blob->object)) + if (object_on_skiplist(options, &blob->object.oid)) return 0; if (!buf) {