builtin/apply: move 'p_context' global into 'struct apply_state'

To libify the apply functionality the 'p_context' variable should
not be static and global to the file. Let's move it into
'struct apply_state'.

Reviewed-by: Stefan Beller <sbeller@google.com>
Signed-off-by: Christian Couder <chriscool@tuxfamily.org>
Signed-off-by: Junio C Hamano <gitster@pobox.com>
This commit is contained in:
Christian Couder 2016-05-24 10:11:04 +02:00 committed by Junio C Hamano
parent a0bfaf0796
commit a48f9bb1b3

View File

@ -49,6 +49,7 @@ struct apply_state {
/* Other non boolean parameters */
const char *fake_ancestor;
int line_termination;
unsigned int p_context;
};
static int newfd = -1;
@ -56,7 +57,6 @@ static int newfd = -1;
static int state_p_value = 1;
static int p_value_known;
static int apply = 1;
static unsigned int p_context = UINT_MAX;
static const char * const apply_usage[] = {
N_("git apply [<options>] [<patch>...]"),
NULL
@ -2872,7 +2872,7 @@ static int apply_one_fragment(struct apply_state *state,
break;
/* Am I at my context limits? */
if ((leading <= p_context) && (trailing <= p_context))
if ((leading <= state->p_context) && (trailing <= state->p_context))
break;
if (match_beginning || match_end) {
match_beginning = match_end = 0;
@ -4566,6 +4566,7 @@ static void init_apply_state(struct apply_state *state, const char *prefix)
state->prefix = prefix;
state->prefix_length = state->prefix ? strlen(state->prefix) : 0;
state->line_termination = '\n';
state->p_context = UINT_MAX;
git_apply_config();
if (apply_default_whitespace)
@ -4628,7 +4629,7 @@ int cmd_apply(int argc, const char **argv, const char *prefix)
/* Think twice before adding "--nul" synonym to this */
OPT_SET_INT('z', NULL, &state.line_termination,
N_("paths are separated with NUL character"), '\0'),
OPT_INTEGER('C', NULL, &p_context,
OPT_INTEGER('C', NULL, &state.p_context,
N_("ensure at least <n> lines of context match")),
{ OPTION_CALLBACK, 0, "whitespace", &whitespace_option, N_("action"),
N_("detect new or modified lines that have whitespace errors"),