parse-options.c: use optbug() instead of BUG() "opts" check

Change the assertions added in bf3ff338a2 (parse-options: stop
abusing 'callback' for lowlevel callbacks, 2019-01-27) to use optbug()
instead of BUG(). At this point we're looping over individual options,
so if we encounter any issues we'd like to report the offending option.

Signed-off-by: Ævar Arnfjörð Bjarmason <avarab@gmail.com>
Signed-off-by: Junio C Hamano <gitster@pobox.com>
This commit is contained in:
Ævar Arnfjörð Bjarmason 2022-06-02 14:25:35 +02:00 committed by Junio C Hamano
parent 53ca569419
commit 5b2f5d92ca

View File

@ -474,20 +474,21 @@ static void parse_options_check(const struct option *opts)
break; break;
case OPTION_CALLBACK: case OPTION_CALLBACK:
if (!opts->callback && !opts->ll_callback) if (!opts->callback && !opts->ll_callback)
BUG("OPTION_CALLBACK needs one callback"); optbug(opts, "OPTION_CALLBACK needs one callback");
if (opts->callback && opts->ll_callback) else if (opts->callback && opts->ll_callback)
BUG("OPTION_CALLBACK can't have two callbacks"); optbug(opts, "OPTION_CALLBACK can't have two callbacks");
break; break;
case OPTION_LOWLEVEL_CALLBACK: case OPTION_LOWLEVEL_CALLBACK:
if (!opts->ll_callback) if (!opts->ll_callback)
BUG("OPTION_LOWLEVEL_CALLBACK needs a callback"); optbug(opts, "OPTION_LOWLEVEL_CALLBACK needs a callback");
if (opts->callback) if (opts->callback)
BUG("OPTION_LOWLEVEL_CALLBACK needs no high level callback"); optbug(opts, "OPTION_LOWLEVEL_CALLBACK needs no high level callback");
break; break;
case OPTION_ALIAS: case OPTION_ALIAS:
BUG("OPT_ALIAS() should not remain at this point. " optbug(opts, "OPT_ALIAS() should not remain at this point. "
"Are you using parse_options_step() directly?\n" "Are you using parse_options_step() directly?\n"
"That case is not supported yet."); "That case is not supported yet.");
break;
default: default:
; /* ok. (usually accepts an argument) */ ; /* ok. (usually accepts an argument) */
} }