Andrew's git
/
gitweb.git
/ diff
summary
|
log
|
commit
| diff |
tree
commit
grep
author
committer
pickaxe
?
re
diff: use skip_to_optional_arg()
author
Christian Couder
<christian.couder@gmail.com>
Sat, 9 Dec 2017 20:40:09 +0000
(21:40 +0100)
committer
Junio C Hamano
<gitster@pobox.com>
Tue, 12 Dec 2017 00:10:12 +0000
(16:10 -0800)
Let's simplify diff option parsing using skip_to_optional_arg().
Signed-off-by: Christian Couder <chriscool@tuxfamily.org>
Signed-off-by: Junio C Hamano <gitster@pobox.com>
diff.c
patch
|
blob
|
history
raw
|
patch
|
inline
| side by side (parent:
72885a6
)
diff --git
a/diff.c
b/diff.c
index 2ebe2227b467e53bbd759c21e463646701071999..464a53adb5b6db62b87d5260bc8ae173aab2756a 100644
(file)
--- a/
diff.c
+++ b/
diff.c
@@
-4508,17
+4508,12
@@
int diff_opt_parse(struct diff_options *options,
options->output_format |= DIFF_FORMAT_NUMSTAT;
else if (!strcmp(arg, "--shortstat"))
options->output_format |= DIFF_FORMAT_SHORTSTAT;
options->output_format |= DIFF_FORMAT_NUMSTAT;
else if (!strcmp(arg, "--shortstat"))
options->output_format |= DIFF_FORMAT_SHORTSTAT;
- else if (!strcmp(arg, "-X") || !strcmp(arg, "--dirstat"))
- return parse_dirstat_opt(options, "");
- else if (skip_prefix(arg, "-X", &arg))
- return parse_dirstat_opt(options, arg);
- else if (skip_prefix(arg, "--dirstat=", &arg))
+ else if (skip_prefix(arg, "-X", &arg) ||
+ skip_to_optional_arg(arg, "--dirstat", &arg))
return parse_dirstat_opt(options, arg);
else if (!strcmp(arg, "--cumulative"))
return parse_dirstat_opt(options, "cumulative");
return parse_dirstat_opt(options, arg);
else if (!strcmp(arg, "--cumulative"))
return parse_dirstat_opt(options, "cumulative");
- else if (!strcmp(arg, "--dirstat-by-file"))
- return parse_dirstat_opt(options, "files");
- else if (skip_prefix(arg, "--dirstat-by-file=", &arg)) {
+ else if (skip_to_optional_arg(arg, "--dirstat-by-file", &arg)) {
parse_dirstat_opt(options, "files");
return parse_dirstat_opt(options, arg);
}
parse_dirstat_opt(options, "files");
return parse_dirstat_opt(options, arg);
}
@@
-4540,13
+4535,13
@@
int diff_opt_parse(struct diff_options *options,
return stat_opt(options, av);
/* renames options */
return stat_opt(options, av);
/* renames options */
- else if (starts_with(arg, "-B") ||
starts_with(arg, "--break-rewrites=") ||
-
!strcmp(arg, "--break-rewrites"
)) {
+ else if (starts_with(arg, "-B") ||
+
skip_to_optional_arg(arg, "--break-rewrites", NULL
)) {
if ((options->break_opt = diff_scoreopt_parse(arg)) == -1)
return error("invalid argument to -B: %s", arg+2);
}
if ((options->break_opt = diff_scoreopt_parse(arg)) == -1)
return error("invalid argument to -B: %s", arg+2);
}
- else if (starts_with(arg, "-M") ||
starts_with(arg, "--find-renames=") ||
-
!strcmp(arg, "--find-renames"
)) {
+ else if (starts_with(arg, "-M") ||
+
skip_to_optional_arg(arg, "--find-renames", NULL
)) {
if ((options->rename_score = diff_scoreopt_parse(arg)) == -1)
return error("invalid argument to -M: %s", arg+2);
options->detect_rename = DIFF_DETECT_RENAME;
if ((options->rename_score = diff_scoreopt_parse(arg)) == -1)
return error("invalid argument to -M: %s", arg+2);
options->detect_rename = DIFF_DETECT_RENAME;
@@
-4554,8
+4549,8
@@
int diff_opt_parse(struct diff_options *options,
else if (!strcmp(arg, "-D") || !strcmp(arg, "--irreversible-delete")) {
options->irreversible_delete = 1;
}
else if (!strcmp(arg, "-D") || !strcmp(arg, "--irreversible-delete")) {
options->irreversible_delete = 1;
}
- else if (starts_with(arg, "-C") ||
starts_with(arg, "--find-copies=") ||
-
!strcmp(arg, "--find-copies"
)) {
+ else if (starts_with(arg, "-C") ||
+
skip_to_optional_arg(arg, "--find-copies", NULL
)) {
if (options->detect_rename == DIFF_DETECT_COPY)
options->flags.find_copies_harder = 1;
if ((options->rename_score = diff_scoreopt_parse(arg)) == -1)
if (options->detect_rename == DIFF_DETECT_COPY)
options->flags.find_copies_harder = 1;
if ((options->rename_score = diff_scoreopt_parse(arg)) == -1)