Signed-off-by: Nguyễn Thái Ngọc Duy <[email protected]>
---
diff.c | 12 +-----------
parse-options-cb.c | 4 ++--
2 files changed, 3 insertions(+), 13 deletions(-)
diff --git a/diff.c b/diff.c
index fee45c5066..f137b7f442 100644
--- a/diff.c
+++ b/diff.c
@@ -5274,6 +5274,7 @@ static void prep_parse_options(struct diff_options
*options)
OPT_SET_INT('z', NULL, &options->line_termination,
N_("do not munge pathnames and use NULs as output
field terminators in --raw or --numstat"),
0),
+ OPT__ABBREV(&options->abbrev),
OPT_CALLBACK_F(0, "output-indicator-new",
&options->output_indicators[OUTPUT_INDICATOR_NEW],
N_("<char>"),
@@ -5468,17 +5469,6 @@ int diff_opt_parse(struct diff_options *options,
}
/* misc options */
- else if (!strcmp(arg, "--no-abbrev"))
- options->abbrev = 0;
- else if (!strcmp(arg, "--abbrev"))
- options->abbrev = DEFAULT_ABBREV;
- else if (skip_prefix(arg, "--abbrev=", &arg)) {
- options->abbrev = strtoul(arg, NULL, 10);
- if (options->abbrev < MINIMUM_ABBREV)
- options->abbrev = MINIMUM_ABBREV;
- else if (the_hash_algo->hexsz < options->abbrev)
- options->abbrev = the_hash_algo->hexsz;
- }
else if ((argcount = parse_long_opt("src-prefix", av, &optarg))) {
options->a_prefix = optarg;
return argcount;
diff --git a/parse-options-cb.c b/parse-options-cb.c
index 2733393546..6e2e8d6273 100644
--- a/parse-options-cb.c
+++ b/parse-options-cb.c
@@ -22,8 +22,8 @@ int parse_opt_abbrev_cb(const struct option *opt, const char
*arg, int unset)
opt->long_name);
if (v && v < MINIMUM_ABBREV)
v = MINIMUM_ABBREV;
- else if (v > 40)
- v = 40;
+ else if (v > the_hash_algo->hexsz)
+ v = the_hash_algo->hexsz;
}
*(int *)(opt->value) = v;
return 0;
--
2.20.0.482.g66447595a7