]> git.ipfire.org Git - thirdparty/git.git/commitdiff
fsck: only require an oid for skiplist functions
authorJeff King <peff@peff.net>
Fri, 18 Oct 2019 04:58:51 +0000 (00:58 -0400)
committerJunio C Hamano <gitster@pobox.com>
Mon, 28 Oct 2019 05:05:18 +0000 (14:05 +0900)
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 <peff@peff.net>
Signed-off-by: Junio C Hamano <gitster@pobox.com>
fsck.c

diff --git a/fsck.c b/fsck.c
index c036ba09ab9cb02a39b7fcfb2655579b68011592..2309c40a11430e8e5348c2957ccf45c2b3538ddb 100644 (file)
--- 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) {