]> git.ipfire.org Git - thirdparty/git.git/commitdiff
fsck: don't require an object struct in verify_headers()
authorJeff King <peff@peff.net>
Fri, 18 Oct 2019 05:00:50 +0000 (01:00 -0400)
committerJunio C Hamano <gitster@pobox.com>
Mon, 28 Oct 2019 05:05:18 +0000 (14:05 +0900)
We only need the oid and type to pass on to report(). Let's accept the
broken-out parameters 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 e1d06fb210b08bf856832756fa86328412216bf1..50c93200edab0655e1bcadecb557a29b6ce2b933 100644 (file)
--- a/fsck.c
+++ b/fsck.c
@@ -687,7 +687,8 @@ static int fsck_tree(struct tree *item,
 }
 
 static int verify_headers(const void *data, unsigned long size,
-                         struct object *obj, struct fsck_options *options)
+                         const struct object_id *oid, enum object_type type,
+                         struct fsck_options *options)
 {
        const char *buffer = (const char *)data;
        unsigned long i;
@@ -695,7 +696,7 @@ static int verify_headers(const void *data, unsigned long size,
        for (i = 0; i < size; i++) {
                switch (buffer[i]) {
                case '\0':
-                       return report(options, &obj->oid, obj->type,
+                       return report(options, oid, type,
                                FSCK_MSG_NUL_IN_HEADER,
                                "unterminated header: NUL at offset %ld", i);
                case '\n':
@@ -713,7 +714,7 @@ static int verify_headers(const void *data, unsigned long size,
        if (size && buffer[size - 1] == '\n')
                return 0;
 
-       return report(options, &obj->oid, obj->type,
+       return report(options, oid, type,
                FSCK_MSG_UNTERMINATED_HEADER, "unterminated header");
 }
 
@@ -772,7 +773,8 @@ static int fsck_commit(struct commit *commit, const char *buffer,
        const char *buffer_begin = buffer;
        const char *p;
 
-       if (verify_headers(buffer, size, &commit->object, options))
+       if (verify_headers(buffer, size, &commit->object.oid,
+                          commit->object.type, options))
                return -1;
 
        if (!skip_prefix(buffer, "tree ", &buffer))
@@ -827,7 +829,7 @@ static int fsck_tag(struct tag *tag, const char *buffer,
        struct strbuf sb = STRBUF_INIT;
        const char *p;
 
-       ret = verify_headers(buffer, size, &tag->object, options);
+       ret = verify_headers(buffer, size, &tag->object.oid, tag->object.type, options);
        if (ret)
                goto done;