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 <peff@peff.net> Signed-off-by: Junio C Hamano <gitster@pobox.com>
This commit is contained in:
parent
5afc4b1dc6
commit
f59793763d
9
fsck.c
9
fsck.c
@ -277,9 +277,10 @@ static void append_msg_id(struct strbuf *sb, const char *msg_id)
|
|||||||
strbuf_addstr(sb, ": ");
|
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)))
|
__attribute__((format (printf, 4, 5)))
|
||||||
@ -293,7 +294,7 @@ static int report(struct fsck_options *options, struct object *object,
|
|||||||
if (msg_type == FSCK_IGNORE)
|
if (msg_type == FSCK_IGNORE)
|
||||||
return 0;
|
return 0;
|
||||||
|
|
||||||
if (object_on_skiplist(options, object))
|
if (object_on_skiplist(options, &object->oid))
|
||||||
return 0;
|
return 0;
|
||||||
|
|
||||||
if (msg_type == FSCK_FATAL)
|
if (msg_type == FSCK_FATAL)
|
||||||
@ -935,7 +936,7 @@ static int fsck_blob(struct blob *blob, const char *buf,
|
|||||||
return 0;
|
return 0;
|
||||||
oidset_insert(&gitmodules_done, &blob->object.oid);
|
oidset_insert(&gitmodules_done, &blob->object.oid);
|
||||||
|
|
||||||
if (object_on_skiplist(options, &blob->object))
|
if (object_on_skiplist(options, &blob->object.oid))
|
||||||
return 0;
|
return 0;
|
||||||
|
|
||||||
if (!buf) {
|
if (!buf) {
|
||||||
|
Loading…
Reference in New Issue
Block a user