From: Junio C Hamano Date: Sun, 19 May 2019 07:45:34 +0000 (+0900) Subject: Merge branch 'js/parseopt-unknown-cb-returns-an-enum' X-Git-Tag: v2.22.0-rc1~7 X-Git-Url: https://git.lorimer.id.au/gitweb.git/diff_plain/7a09f5f1b6b506e31d2f8e10ec09a7d2977317aa?ds=inline;hp=-c Merge branch 'js/parseopt-unknown-cb-returns-an-enum' Code clean-up. * js/parseopt-unknown-cb-returns-an-enum: parse-options: adjust `parse_opt_unknown_cb()`s declared return type --- 7a09f5f1b6b506e31d2f8e10ec09a7d2977317aa diff --combined parse-options.h index 98ea42ffd9,cd756833a9..ac6ba8abf9 --- a/parse-options.h +++ b/parse-options.h @@@ -7,7 -7,6 +7,7 @@@ enum parse_opt_type OPTION_ARGUMENT, OPTION_GROUP, OPTION_NUMBER, + OPTION_ALIAS, /* options with no arguments */ OPTION_BIT, OPTION_NEGBIT, @@@ -184,9 -183,6 +184,9 @@@ struct option N_("no-op (backward compatibility)"), \ PARSE_OPT_HIDDEN | PARSE_OPT_NOARG, parse_opt_noop_cb } +#define OPT_ALIAS(s, l, source_long_name) \ + { OPTION_ALIAS, (s), (l), (source_long_name) } + /* * parse_options() will filter out the processed options and leave the * non-option arguments in argv[]. argv0 is assumed program name and @@@ -262,8 -258,6 +262,8 @@@ struct parse_opt_ctx_t const char *opt; int flags; const char *prefix; + const char **alias_groups; /* must be in groups of 3 elements! */ + struct option *updated_options; }; void parse_options_start(struct parse_opt_ctx_t *ctx, @@@ -292,7 -286,9 +292,9 @@@ int parse_opt_commit(const struct optio int parse_opt_tertiary(const struct option *, const char *, int); int parse_opt_string_list(const struct option *, const char *, int); int parse_opt_noop_cb(const struct option *, const char *, int); - int parse_opt_unknown_cb(struct parse_opt_ctx_t *ctx, const struct option *, const char *, int); + enum parse_opt_result parse_opt_unknown_cb(struct parse_opt_ctx_t *ctx, + const struct option *, + const char *, int); int parse_opt_passthru(const struct option *, const char *, int); int parse_opt_passthru_argv(const struct option *, const char *, int);