X-Git-Url: http://git.ipfire.org/?a=blobdiff_plain;f=parse-options.h;h=ac6ba8abf9ec7af1712486ecfe3e397359c4a67f;hb=4627bc777e9ade5e3a85d6b8e8630fc4b6e2f8f6;hp=cd756833a9947f101fc3356ebdbb22aef3f98c16;hpb=567fce1e10e77b39203504ad36a273d447ec031a;p=thirdparty%2Fgit.git diff --git a/parse-options.h b/parse-options.h index cd756833a9..ac6ba8abf9 100644 --- a/parse-options.h +++ b/parse-options.h @@ -7,6 +7,7 @@ enum parse_opt_type { OPTION_ARGUMENT, OPTION_GROUP, OPTION_NUMBER, + OPTION_ALIAS, /* options with no arguments */ OPTION_BIT, OPTION_NEGBIT, @@ -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 @@ -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,