diff options
| author | Christian Couder <christian.couder@gmail.com> | 2017-12-09 21:40:09 +0100 | 
|---|---|---|
| committer | Junio C Hamano <gitster@pobox.com> | 2017-12-11 16:10:12 -0800 | 
| commit | 948cbe6703d0d1e3ba65fd10037bafd1b8b87696 (patch) | |
| tree | d61d6a10e8fd30bc19a964fc4542ddf4c0a45aaa | |
| parent | 72885a6d5181ca090039917b6ce76b952ebb59b1 (diff) | |
| download | git-948cbe6703d0d1e3ba65fd10037bafd1b8b87696.tar.gz | |
diff: use skip_to_optional_arg()
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>
| -rw-r--r-- | diff.c | 23 | 
1 files changed, 9 insertions, 14 deletions
@@ -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; -	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"); -	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);  	} @@ -4540,13 +4535,13 @@ int diff_opt_parse(struct diff_options *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);  	} -	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; @@ -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 (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)  | 
