apply: only pass required data to git_header_name
Currently the 'git_header_name()' function takes 'struct apply_state' as parameter, even though it only needs the p_value from that struct. This function is in the callchain of 'parse_git_header()', which we want to make more generally useful in a subsequent commit. To make that happen we only want to pass in the required data to 'parse_git_header()', and not the whole 'struct apply_state', and thus we want functions in the callchain of 'parse_git_header()' to only take arguments they really need. Signed-off-by: Thomas Gummerer <t.gummerer@gmail.com> Signed-off-by: Junio C Hamano <gitster@pobox.com>
This commit is contained in:
parent
d6c88c4fdc
commit
85c3713df5
16
apply.c
16
apply.c
@ -1164,7 +1164,7 @@ static const char *skip_tree_prefix(int p_value,
|
||||
* creation or deletion of an empty file. In any of these cases,
|
||||
* both sides are the same name under a/ and b/ respectively.
|
||||
*/
|
||||
static char *git_header_name(struct apply_state *state,
|
||||
static char *git_header_name(int p_value,
|
||||
const char *line,
|
||||
int llen)
|
||||
{
|
||||
@ -1184,7 +1184,7 @@ static char *git_header_name(struct apply_state *state,
|
||||
goto free_and_fail1;
|
||||
|
||||
/* strip the a/b prefix including trailing slash */
|
||||
cp = skip_tree_prefix(state->p_value, first.buf, first.len);
|
||||
cp = skip_tree_prefix(p_value, first.buf, first.len);
|
||||
if (!cp)
|
||||
goto free_and_fail1;
|
||||
strbuf_remove(&first, 0, cp - first.buf);
|
||||
@ -1201,7 +1201,7 @@ static char *git_header_name(struct apply_state *state,
|
||||
if (*second == '"') {
|
||||
if (unquote_c_style(&sp, second, NULL))
|
||||
goto free_and_fail1;
|
||||
cp = skip_tree_prefix(state->p_value, sp.buf, sp.len);
|
||||
cp = skip_tree_prefix(p_value, sp.buf, sp.len);
|
||||
if (!cp)
|
||||
goto free_and_fail1;
|
||||
/* They must match, otherwise ignore */
|
||||
@ -1212,7 +1212,7 @@ static char *git_header_name(struct apply_state *state,
|
||||
}
|
||||
|
||||
/* unquoted second */
|
||||
cp = skip_tree_prefix(state->p_value, second, line + llen - second);
|
||||
cp = skip_tree_prefix(p_value, second, line + llen - second);
|
||||
if (!cp)
|
||||
goto free_and_fail1;
|
||||
if (line + llen - cp != first.len ||
|
||||
@ -1227,7 +1227,7 @@ static char *git_header_name(struct apply_state *state,
|
||||
}
|
||||
|
||||
/* unquoted first name */
|
||||
name = skip_tree_prefix(state->p_value, line, llen);
|
||||
name = skip_tree_prefix(p_value, line, llen);
|
||||
if (!name)
|
||||
return NULL;
|
||||
|
||||
@ -1243,7 +1243,7 @@ static char *git_header_name(struct apply_state *state,
|
||||
if (unquote_c_style(&sp, second, NULL))
|
||||
goto free_and_fail2;
|
||||
|
||||
np = skip_tree_prefix(state->p_value, sp.buf, sp.len);
|
||||
np = skip_tree_prefix(p_value, sp.buf, sp.len);
|
||||
if (!np)
|
||||
goto free_and_fail2;
|
||||
|
||||
@ -1287,7 +1287,7 @@ static char *git_header_name(struct apply_state *state,
|
||||
*/
|
||||
if (!name[len + 1])
|
||||
return NULL; /* no postimage name */
|
||||
second = skip_tree_prefix(state->p_value, name + len + 1,
|
||||
second = skip_tree_prefix(p_value, name + len + 1,
|
||||
line_len - (len + 1));
|
||||
if (!second)
|
||||
return NULL;
|
||||
@ -1333,7 +1333,7 @@ static int parse_git_header(struct apply_state *state,
|
||||
* or removing or adding empty files), so we get
|
||||
* the default name from the header.
|
||||
*/
|
||||
patch->def_name = git_header_name(state, line, len);
|
||||
patch->def_name = git_header_name(state->p_value, line, len);
|
||||
if (patch->def_name && state->root.len) {
|
||||
char *s = xstrfmt("%s%s", state->root.buf, patch->def_name);
|
||||
free(patch->def_name);
|
||||
|
Loading…
Reference in New Issue
Block a user