summaryrefslogtreecommitdiff
path: root/builtin
diff options
context:
space:
mode:
authorChristian Couder <christian.couder@gmail.com>2016-05-24 08:11:13 (GMT)
committerJunio C Hamano <gitster@pobox.com>2016-06-01 17:10:16 (GMT)
commit161fcbe9884466e95cf5b1c7cd22f64a16a24045 (patch)
tree5ee5babcc5a568cf37b19e6ebf953c8748e3d98c /builtin
parent5460cd0b1000078846e2850eeaba3573965c1faf (diff)
downloadgit-161fcbe9884466e95cf5b1c7cd22f64a16a24045.zip
git-161fcbe9884466e95cf5b1c7cd22f64a16a24045.tar.gz
git-161fcbe9884466e95cf5b1c7cd22f64a16a24045.tar.bz2
builtin/apply: move 'whitespace_option' into 'struct apply_state'
This will enable further refactoring, and it is more coherent and simpler if all the option_parse_*() functions are passed a 'struct apply_state' instance in opt->value. Reviewed-by: Stefan Beller <sbeller@google.com> Signed-off-by: Christian Couder <chriscool@tuxfamily.org> Signed-off-by: Junio C Hamano <gitster@pobox.com>
Diffstat (limited to 'builtin')
-rw-r--r--builtin/apply.c13
1 files changed, 6 insertions, 7 deletions
diff --git a/builtin/apply.c b/builtin/apply.c
index 44717b2..78205f8 100644
--- a/builtin/apply.c
+++ b/builtin/apply.c
@@ -61,6 +61,7 @@ struct apply_state {
int has_include;
/* These control whitespace errors */
+ const char *whitespace_option;
int whitespace_error;
};
@@ -4619,9 +4620,9 @@ static int option_parse_space_change(const struct option *opt,
static int option_parse_whitespace(const struct option *opt,
const char *arg, int unset)
{
- const char **whitespace_option = opt->value;
+ struct apply_state *state = opt->value;
- *whitespace_option = arg;
+ state->whitespace_option = arg;
parse_whitespace_option(arg);
return 0;
}
@@ -4670,8 +4671,6 @@ int cmd_apply(int argc, const char **argv, const char *prefix)
int read_stdin = 1;
struct apply_state state;
- const char *whitespace_option = NULL;
-
struct option builtin_apply_options[] = {
{ OPTION_CALLBACK, 0, "exclude", &state, N_("path"),
N_("don't apply changes matching the given path"),
@@ -4711,7 +4710,7 @@ int cmd_apply(int argc, const char **argv, const char *prefix)
N_("paths are separated with NUL character"), '\0'),
OPT_INTEGER('C', NULL, &state.p_context,
N_("ensure at least <n> lines of context match")),
- { OPTION_CALLBACK, 0, "whitespace", &whitespace_option, N_("action"),
+ { OPTION_CALLBACK, 0, "whitespace", &state, N_("action"),
N_("detect new or modified lines that have whitespace errors"),
0, option_parse_whitespace },
{ OPTION_CALLBACK, 0, "ignore-space-change", NULL, NULL,
@@ -4786,11 +4785,11 @@ int cmd_apply(int argc, const char **argv, const char *prefix)
if (fd < 0)
die_errno(_("can't open patch '%s'"), arg);
read_stdin = 0;
- set_default_whitespace_mode(&state, whitespace_option);
+ set_default_whitespace_mode(&state, state.whitespace_option);
errs |= apply_patch(&state, fd, arg, options);
close(fd);
}
- set_default_whitespace_mode(&state, whitespace_option);
+ set_default_whitespace_mode(&state, state.whitespace_option);
if (read_stdin)
errs |= apply_patch(&state, 0, "<stdin>", options);
if (state.whitespace_error) {