summary refs log tree commit diff
path: root/ws.c
diff options
context:
space:
mode:
authorSZEDER Gábor <szeder@ira.uka.de>2009-07-22 19:24:38 -0500
committerJunio C Hamano <gitster@pobox.com>2009-07-22 18:54:55 -0700
commit735c674416b87505400fcf738fd3a38b52f0eccb (patch)
tree1ee8a2925ddae3ffb3bf946cae7725b86ae0e5d8 /ws.c
parentb810cbbde9232cbe9a3841edccc5b606bbd3a82e (diff)
Trailing whitespace and no newline fix
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 <szeder@ira.uka.de>
Signed-off-by: Junio C Hamano <gitster@pobox.com>
Diffstat (limited to 'ws.c')
-rw-r--r--ws.c5
1 files changed, 2 insertions, 3 deletions
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') {