From 735c674416b87505400fcf738fd3a38b52f0eccb Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?SZEDER=20G=C3=A1bor?= Date: Wed, 22 Jul 2009 19:24:38 -0500 Subject: Trailing whitespace and no newline fix MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit If a patch adds a new line to the end of a file and this line ends with one trailing whitespace character and has no newline, then '--whitespace=fix' currently does not remove that trailing whitespace. This patch fixes this by removing the check for trailing whitespace at the end of the line at a hardcoded offset which does not take the eventual absence of newline into account. Signed-off-by: SZEDER Gábor Signed-off-by: Junio C Hamano --- ws.c | 5 ++--- 1 file changed, 2 insertions(+), 3 deletions(-) (limited to 'ws.c') diff --git a/ws.c b/ws.c index 819c797cf6..8d855b7fd5 100644 --- a/ws.c +++ b/ws.c @@ -261,9 +261,8 @@ int ws_fix_copy(char *dst, const char *src, int len, unsigned ws_rule, int *erro /* * Strip trailing whitespace */ - if ((ws_rule & WS_TRAILING_SPACE) && - (2 <= len && isspace(src[len-2]))) { - if (src[len - 1] == '\n') { + if (ws_rule & WS_TRAILING_SPACE) { + if (1 < len && src[len - 1] == '\n') { add_nl_to_tail = 1; len--; if (1 < len && src[len - 1] == '\r') { -- cgit v1.2.3 From 422a82f21370fe38b3e926a83b460bf2b1dd13ab Mon Sep 17 00:00:00 2001 From: Junio C Hamano Date: Sat, 25 Jul 2009 01:29:20 -0700 Subject: Fix severe breakage in "git-apply --whitespace=fix" 735c674 (Trailing whitespace and no newline fix, 2009-07-22) completely broke --whitespace=fix, causing it to lose all the empty lines in a patch. Signed-off-by: Junio C Hamano --- ws.c | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) (limited to 'ws.c') diff --git a/ws.c b/ws.c index 8d855b7fd5..59d0883c1f 100644 --- a/ws.c +++ b/ws.c @@ -262,10 +262,10 @@ int ws_fix_copy(char *dst, const char *src, int len, unsigned ws_rule, int *erro * Strip trailing whitespace */ if (ws_rule & WS_TRAILING_SPACE) { - if (1 < len && src[len - 1] == '\n') { + if (0 < len && src[len - 1] == '\n') { add_nl_to_tail = 1; len--; - if (1 < len && src[len - 1] == '\r') { + if (0 < len && src[len - 1] == '\r') { add_cr_to_tail = !!(ws_rule & WS_CR_AT_EOL); len--; } -- cgit v1.2.3