parse-options: refactor flags for usage_with_options_internal
When reading or editing calls to usage_with_options_internal, it is difficult to tell what trailing "0, 0", "0, 1", "1, 0" arguments mean (NB there is never a "1, 1" case). Give the flags readable names to improve call-sites without changing any behavior. Signed-off-by: D. Ben Knoble <ben.knoble+github@gmail.com> Signed-off-by: Junio C Hamano <gitster@pobox.com>main
parent
5119721fe1
commit
fe54b9ef02
|
|
@ -953,10 +953,16 @@ static void free_preprocessed_options(struct option *options)
|
||||||
free(options);
|
free(options);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
#define USAGE_NORMAL 0
|
||||||
|
#define USAGE_FULL 1
|
||||||
|
#define USAGE_TO_STDOUT 0
|
||||||
|
#define USAGE_TO_STDERR 1
|
||||||
|
|
||||||
static enum parse_opt_result usage_with_options_internal(struct parse_opt_ctx_t *,
|
static enum parse_opt_result usage_with_options_internal(struct parse_opt_ctx_t *,
|
||||||
const char * const *,
|
const char * const *,
|
||||||
const struct option *,
|
const struct option *,
|
||||||
int, int);
|
int full_usage,
|
||||||
|
int usage_to_stderr);
|
||||||
|
|
||||||
enum parse_opt_result parse_options_step(struct parse_opt_ctx_t *ctx,
|
enum parse_opt_result parse_options_step(struct parse_opt_ctx_t *ctx,
|
||||||
const struct option *options,
|
const struct option *options,
|
||||||
|
|
@ -1088,7 +1094,8 @@ enum parse_opt_result parse_options_step(struct parse_opt_ctx_t *ctx,
|
||||||
}
|
}
|
||||||
|
|
||||||
if (internal_help && !strcmp(arg + 2, "help-all"))
|
if (internal_help && !strcmp(arg + 2, "help-all"))
|
||||||
return usage_with_options_internal(ctx, usagestr, options, 1, 0);
|
return usage_with_options_internal(ctx, usagestr, options,
|
||||||
|
USAGE_FULL, USAGE_TO_STDOUT);
|
||||||
if (internal_help && !strcmp(arg + 2, "help"))
|
if (internal_help && !strcmp(arg + 2, "help"))
|
||||||
goto show_usage;
|
goto show_usage;
|
||||||
switch (parse_long_opt(ctx, arg + 2, options)) {
|
switch (parse_long_opt(ctx, arg + 2, options)) {
|
||||||
|
|
@ -1129,7 +1136,8 @@ unknown:
|
||||||
return PARSE_OPT_DONE;
|
return PARSE_OPT_DONE;
|
||||||
|
|
||||||
show_usage:
|
show_usage:
|
||||||
return usage_with_options_internal(ctx, usagestr, options, 0, 0);
|
return usage_with_options_internal(ctx, usagestr, options,
|
||||||
|
USAGE_NORMAL, USAGE_TO_STDOUT);
|
||||||
}
|
}
|
||||||
|
|
||||||
int parse_options_end(struct parse_opt_ctx_t *ctx)
|
int parse_options_end(struct parse_opt_ctx_t *ctx)
|
||||||
|
|
@ -1444,7 +1452,8 @@ static enum parse_opt_result usage_with_options_internal(struct parse_opt_ctx_t
|
||||||
void NORETURN usage_with_options(const char * const *usagestr,
|
void NORETURN usage_with_options(const char * const *usagestr,
|
||||||
const struct option *opts)
|
const struct option *opts)
|
||||||
{
|
{
|
||||||
usage_with_options_internal(NULL, usagestr, opts, 0, 1);
|
usage_with_options_internal(NULL, usagestr, opts,
|
||||||
|
USAGE_NORMAL, USAGE_TO_STDERR);
|
||||||
exit(129);
|
exit(129);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
@ -1453,7 +1462,8 @@ void show_usage_with_options_if_asked(int ac, const char **av,
|
||||||
const struct option *opts)
|
const struct option *opts)
|
||||||
{
|
{
|
||||||
if (ac == 2 && !strcmp(av[1], "-h")) {
|
if (ac == 2 && !strcmp(av[1], "-h")) {
|
||||||
usage_with_options_internal(NULL, usagestr, opts, 0, 0);
|
usage_with_options_internal(NULL, usagestr, opts,
|
||||||
|
USAGE_NORMAL, USAGE_TO_STDOUT);
|
||||||
exit(129);
|
exit(129);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
|
||||||
Loading…
Reference in New Issue