On Sun, Apr 24, 2016 at 9:33 AM, Christian Couder
<[email protected]> wrote:
> Signed-off-by: Christian Couder <[email protected]>
> ---
> diff --git a/builtin/apply.c b/builtin/apply.c
> @@ -4670,6 +4670,28 @@ static int option_parse_directory(const struct option
> *opt,
> +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);
> +}
Minor:
If factoring out this code from cmd_apply() into init_apply_state()
was done as a preparatory patch before introduction of 'apply_state',
then each new 'state->foo=...' line would already be at its final
location when added by its respective patch.
Doing so would also provide an obvious opportunity to name the
'prefix' argument to init_apply_state() "prefix" rather than the odd
"prefix_".
> 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 [email protected]
More majordomo info at http://vger.kernel.org/majordomo-info.html