diff-parseopt: convert --[src|dst]-prefix

Signed-off-by: Nguyễn Thái Ngọc Duy <pclouds@gmail.com> Signed-off-by: Junio C Hamano <gitster@pobox.com>

Nguyễn Thái Ngọc Duy committed Mar 24, 2019 at 15:20 UTC 31fba9d3b4d37518be3261af430f81af375de16e
2 files changed +8 -9
diff.c
+6 -8
@@ -5255,6 +5255,12 @@ static void prep_parse_options(struct diff_options *options)
5255 N_("do not munge pathnames and use NULs as output field terminators in --raw or --numstat"),
5256 0),
5257 OPT__ABBREV(&options->abbrev),
5258 + OPT_STRING_F(0, "src-prefix", &options->a_prefix, N_("<prefix>"),
5259 + N_("show the given source prefix instead of \"a/\""),
5260 + PARSE_OPT_NONEG),
5261 + OPT_STRING_F(0, "dst-prefix", &options->b_prefix, N_("<prefix>"),
5262 + N_("show the given source prefix instead of \"b/\""),
5263 + PARSE_OPT_NONEG),
5264 OPT_CALLBACK_F(0, "output-indicator-new",
5265 &options->output_indicators[OUTPUT_INDICATOR_NEW],
5266 N_("<char>"),
@@ -5449,20 +5455,12 @@ int diff_opt_parse(struct diff_options *options,
5455 }
5456
5457 /* misc options */
5452 - else if ((argcount = parse_long_opt("src-prefix", av, &optarg))) {
5453 - options->a_prefix = optarg;
5454 - return argcount;
5455 - }
5458 else if ((argcount = parse_long_opt("line-prefix", av, &optarg))) {
5459 options->line_prefix = optarg;
5460 options->line_prefix_length = strlen(options->line_prefix);
5461 graph_setup_line_prefix(options);
5462 return argcount;
5463 }
5462 - else if ((argcount = parse_long_opt("dst-prefix", av, &optarg))) {
5463 - options->b_prefix = optarg;
5464 - return argcount;
5465 - }
5464 else if (!strcmp(arg, "--no-prefix"))
5465 options->a_prefix = options->b_prefix = "";
5466 else if (opt_arg(arg, '\0', "inter-hunk-context",
parse-options.h
+2 -1
@@ -136,6 +136,7 @@ struct option {
136 #define OPT_BOOL_F(s, l, v, h, f) OPT_SET_INT_F(s, l, v, h, 1, f)
137 #define OPT_CALLBACK_F(s, l, v, a, h, f, cb) \
138 { OPTION_CALLBACK, (s), (l), (v), (a), (h), (f), (cb) }
139 +#define OPT_STRING_F(s, l, v, a, h, f) { OPTION_STRING, (s), (l), (v), (a), (h), (f) }
140
141 #define OPT_END() { OPTION_END }
142 #define OPT_ARGUMENT(l, h) { OPTION_ARGUMENT, 0, (l), NULL, NULL, \
@@ -157,7 +158,7 @@ struct option {
158 #define OPT_INTEGER(s, l, v, h) { OPTION_INTEGER, (s), (l), (v), N_("n"), (h) }
159 #define OPT_MAGNITUDE(s, l, v, h) { OPTION_MAGNITUDE, (s), (l), (v), \
160 N_("n"), (h), PARSE_OPT_NONEG }
160 -#define OPT_STRING(s, l, v, a, h) { OPTION_STRING, (s), (l), (v), (a), (h) }
161 +#define OPT_STRING(s, l, v, a, h) OPT_STRING_F(s, l, v, a, h, 0)
162 #define OPT_STRING_LIST(s, l, v, a, h) \
163 { OPTION_CALLBACK, (s), (l), (v), (a), \
164 (h), 0, &parse_opt_string_list }