summaryrefslogtreecommitdiff
path: root/fsck.c
diff options
context:
space:
mode:
authorJeff King <peff@peff.net>2019-10-18 05:00:50 (GMT)
committerJunio C Hamano <gitster@pobox.com>2019-10-28 05:05:18 (GMT)
commitcc579000bf289cea7f9c2e34fcb9cf67e8104616 (patch)
tree7e74c2cdc03fbc2347bdc359d2338202c5348e89 /fsck.c
parent7854399366fa36854de8e6962a441b02009c10e4 (diff)
downloadgit-cc579000bf289cea7f9c2e34fcb9cf67e8104616.zip
git-cc579000bf289cea7f9c2e34fcb9cf67e8104616.tar.gz
git-cc579000bf289cea7f9c2e34fcb9cf67e8104616.tar.bz2
fsck: don't require an object struct in verify_headers()
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>
Diffstat (limited to 'fsck.c')
-rw-r--r--fsck.c12
1 files changed, 7 insertions, 5 deletions
diff --git a/fsck.c b/fsck.c
index e1d06fb..50c9320 100644
--- 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;