René Scharfe <l....@web.de> writes:

> Hmm, pondering that, it seems I forgot to reset its value after each
> patch.  Or better just move it into struct patch, next to the extension
> bits:

Good catch.

> -- >8 --
> Subject: fixup! apply: check git diffs for mutually exclusive header lines
> ---
>  apply.c | 7 ++++---
>  apply.h | 1 -
>  2 files changed, 4 insertions(+), 4 deletions(-)
>
> diff --git a/apply.c b/apply.c
> index db38bc3cdd..c442b89328 100644
> --- a/apply.c
> +++ b/apply.c
> @@ -211,6 +211,7 @@ struct patch {
>       unsigned ws_rule;
>       int lines_added, lines_deleted;
>       int score;
> +     int extension_linenr; /* first line specifying delete/new/rename/copy */
>       unsigned int is_toplevel_relative:1;
>       unsigned int inaccurate_eof:1;
>       unsigned int is_binary:1;
> @@ -1325,9 +1326,9 @@ static int check_header_line(struct apply_state *state, 
> struct patch *patch)
>                        (patch->is_rename == 1) + (patch->is_copy == 1);
>       if (extensions > 1)
>               return error(_("inconsistent header lines %d and %d"),
> -                          state->extension_linenr, state->linenr);
> -     if (extensions && !state->extension_linenr)
> -             state->extension_linenr = state->linenr;
> +                          patch->extension_linenr, state->linenr);
> +     if (extensions && !patch->extension_linenr)
> +             patch->extension_linenr = state->linenr;
>       return 0;
>  }
>  
> diff --git a/apply.h b/apply.h
> index b52078b486..b3d6783d55 100644
> --- a/apply.h
> +++ b/apply.h
> @@ -79,7 +79,6 @@ struct apply_state {
>  
>       /* Various "current state" */
>       int linenr; /* current line number */
> -     int extension_linenr; /* first line specifying delete/new/rename/copy */
>       struct string_list symlink_changes; /* we have to track symlinks */
>  
>       /*

Reply via email to