Merge branch 'jc/apply-blank-at-eof-fix' into maint
authorJunio C Hamano <gitster@pobox.com>
Fri, 21 Oct 2011 17:49:26 +0000 (10:49 -0700)
committerJunio C Hamano <gitster@pobox.com>
Fri, 21 Oct 2011 17:49:26 +0000 (10:49 -0700)
* jc/apply-blank-at-eof-fix:
  apply --whitespace=error: correctly report new blank lines at end

1  2 
builtin/apply.c

diff --cc builtin/apply.c
index aaa39fe17e9c4c2d6ea027063b0a825a3918ebc7,508b1edc19555d2eab3c99b2a7fd667807e21972..311a94e18195c611b55de7d1619da890aca240af
@@@ -2447,9 -1902,10 +2447,11 @@@ static int apply_one_fragment(struct im
        int match_beginning, match_end;
        const char *patch = frag->patch;
        int size = frag->size;
 -      char *old, *new, *oldlines, *newlines;
 +      char *old, *oldlines;
 +      struct strbuf newlines;
        int new_blank_lines_at_end = 0;
+       int found_new_blank_lines_at_end = 0;
+       int hunk_linenr = frag->linenr;
        unsigned long leading, trailing;
        int pos, applied_pos;
        struct image preimage;
  
        if (applied_pos >= 0) {
                if (new_blank_lines_at_end &&
 -                  preimage.nr + applied_pos == img->nr &&
 +                  preimage.nr + applied_pos >= img->nr &&
                    (ws_rule & WS_BLANK_AT_EOF) &&
                    ws_error_action != nowarn_ws_error) {
-                       record_ws_error(WS_BLANK_AT_EOF, "+", 1, frag->linenr);
+                       record_ws_error(WS_BLANK_AT_EOF, "+", 1,
+                                       found_new_blank_lines_at_end);
                        if (ws_error_action == correct_ws_error) {
                                while (new_blank_lines_at_end--)
                                        remove_last_line(&postimage);