diff options
author | Christian Couder <christian.couder@gmail.com> | 2016-05-24 10:11:13 +0200 |
---|---|---|
committer | Junio C Hamano <gitster@pobox.com> | 2016-06-01 10:10:16 -0700 |
commit | 161fcbe9884466e95cf5b1c7cd22f64a16a24045 (patch) | |
tree | 5ee5babcc5a568cf37b19e6ebf953c8748e3d98c | |
parent | 5460cd0b1000078846e2850eeaba3573965c1faf (diff) | |
download | git-161fcbe9884466e95cf5b1c7cd22f64a16a24045.tar.gz git-161fcbe9884466e95cf5b1c7cd22f64a16a24045.tar.xz |
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>
-rw-r--r-- | builtin/apply.c | 13 |
1 files changed, 6 insertions, 7 deletions
diff --git a/builtin/apply.c b/builtin/apply.c index 44717b2fd..78205f805 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) { |