diff options
author | Johannes Schindelin <johannes.schindelin@gmx.de> | 2016-07-17 10:59:57 (GMT) |
---|---|---|
committer | Junio C Hamano <gitster@pobox.com> | 2016-07-18 18:35:00 (GMT) |
commit | 1cd772cc4124e43b14231dcaeae8a5dddf4ffdb9 (patch) | |
tree | b2c194259ff773b03bc5a3f3921a8d595aef63da | |
parent | 7b35efd734e501f9e4692768a8b6aea818c0c93e (diff) | |
download | git-1cd772cc4124e43b14231dcaeae8a5dddf4ffdb9.zip git-1cd772cc4124e43b14231dcaeae8a5dddf4ffdb9.tar.gz git-1cd772cc4124e43b14231dcaeae8a5dddf4ffdb9.tar.bz2 |
fsck: give the error function a chance to see the fsck_options
We will need this in the next commit, where fsck will be taught to
optionally name the objects when reporting issues about them.
Signed-off-by: Johannes Schindelin <johannes.schindelin@gmx.de>
Signed-off-by: Junio C Hamano <gitster@pobox.com>
-rw-r--r-- | builtin/fsck.c | 3 | ||||
-rw-r--r-- | fsck.c | 5 | ||||
-rw-r--r-- | fsck.h | 6 |
3 files changed, 9 insertions, 5 deletions
diff --git a/builtin/fsck.c b/builtin/fsck.c index 87df191..6c9d598 100644 --- a/builtin/fsck.c +++ b/builtin/fsck.c @@ -82,7 +82,8 @@ static int objerror(struct object *obj, const char *err) return -1; } -static int fsck_error_func(struct object *obj, int type, const char *message) +static int fsck_error_func(struct fsck_options *o, + struct object *obj, int type, const char *message) { objreport(obj, (type == FSCK_WARN) ? "warning" : "error", message); return (type == FSCK_WARN) ? 0 : 1; @@ -291,7 +291,7 @@ static int report(struct fsck_options *options, struct object *object, va_start(ap, fmt); strbuf_vaddf(&sb, fmt, ap); - result = options->error_func(object, msg_type, sb.buf); + result = options->error_func(options, object, msg_type, sb.buf); strbuf_release(&sb); va_end(ap); @@ -897,7 +897,8 @@ int fsck_object(struct object *obj, void *data, unsigned long size, obj->type); } -int fsck_error_function(struct object *obj, int msg_type, const char *message) +int fsck_error_function(struct fsck_options *o, + struct object *obj, int msg_type, const char *message) { if (msg_type == FSCK_WARN) { warning("object %s: %s", oid_to_hex(&obj->oid), message); @@ -23,9 +23,11 @@ int is_valid_msg_type(const char *msg_id, const char *msg_type); typedef int (*fsck_walk_func)(struct object *obj, int type, void *data, struct fsck_options *options); /* callback for fsck_object, type is FSCK_ERROR or FSCK_WARN */ -typedef int (*fsck_error)(struct object *obj, int type, const char *message); +typedef int (*fsck_error)(struct fsck_options *o, + struct object *obj, int type, const char *message); -int fsck_error_function(struct object *obj, int type, const char *message); +int fsck_error_function(struct fsck_options *o, + struct object *obj, int type, const char *message); struct fsck_options { fsck_walk_func walk; |