Signed-off-by: Christian Couder <chriscool@xxxxxxxxxxxxx> --- builtin/apply.c | 41 +++++++++++++++++++++++------------------ 1 file changed, 23 insertions(+), 18 deletions(-) diff --git a/builtin/apply.c b/builtin/apply.c index 8508607..f2dffa9 100644 --- a/builtin/apply.c +++ b/builtin/apply.c @@ -4670,6 +4670,28 @@ static int option_parse_directory(const struct option *opt, return 0; } +static void init_apply_state(struct apply_state *state, const char *prefix_) +{ + memset(state, 0, sizeof(*state)); + state->prefix = prefix_; + state->prefix_length = state->prefix ? strlen(state->prefix) : 0; + state->apply = 1; + state->line_termination = '\n'; + state->p_value = 1; + state->p_context = UINT_MAX; + state->squelch_whitespace_errors = 5; + state->ws_error_action = warn_on_ws_error; + state->ws_ignore_action = ignore_ws_none; + state->linenr = 1; + strbuf_init(&state->root, 0); + + git_apply_config(); + if (apply_default_whitespace) + parse_whitespace_option(state, apply_default_whitespace); + if (apply_default_ignorewhitespace) + parse_ignorewhitespace_option(state, apply_default_ignorewhitespace); +} + int cmd_apply(int argc, const char **argv, const char *prefix_) { int i; @@ -4749,24 +4771,7 @@ int cmd_apply(int argc, const char **argv, const char *prefix_) OPT_END() }; - memset(&state, 0, sizeof(state)); - state.prefix = prefix_; - state.prefix_length = state.prefix ? strlen(state.prefix) : 0; - state.apply = 1; - state.line_termination = '\n'; - state.p_value = 1; - state.p_context = UINT_MAX; - state.squelch_whitespace_errors = 5; - state.ws_error_action = warn_on_ws_error; - state.ws_ignore_action = ignore_ws_none; - state.linenr = 1; - strbuf_init(&state.root, 0); - - git_apply_config(); - if (apply_default_whitespace) - parse_whitespace_option(&state, apply_default_whitespace); - if (apply_default_ignorewhitespace) - parse_ignorewhitespace_option(&state, apply_default_ignorewhitespace); + init_apply_state(&state, prefix_); argc = parse_options(argc, argv, state.prefix, builtin_apply_options, apply_usage, 0); -- 2.8.1.300.g5fed0c0 -- To unsubscribe from this list: send the line "unsubscribe git" in the body of a message to majordomo@xxxxxxxxxxxxxxx More majordomo info at http://vger.kernel.org/majordomo-info.html