[PATCH] whitespace: fix off-by-one error in non-space-in-indent checking
From: J. Bruce Fields <hidden>
Date: 2016-06-15 22:43:59
Subsystem:
the rest · Maintainer:
Linus Torvalds
If there were no tabs, and the last space was at position 7, then positions 0..7 had spaces, so there were 8 spaces. Update test to check exactly this case. Signed-off-by: J. Bruce Fields <redacted> --- t/t4015-diff-whitespace.sh | 4 ++-- ws.c | 2 +- 2 files changed, 3 insertions(+), 3 deletions(-)
diff --git a/t/t4015-diff-whitespace.sh b/t/t4015-diff-whitespace.sh
index 9bff8f5..0f16bca 100755
--- a/t/t4015-diff-whitespace.sh
+++ b/t/t4015-diff-whitespace.sh@@ -298,7 +298,7 @@ test_expect_success 'check space before tab in indent (space-before-tab: on)' ' test_expect_success 'check spaces as indentation (indent-with-non-tab: off)' ' git config core.whitespace "-indent-with-non-tab" - echo " foo ();" > x && + echo " foo ();" > x && git diff --check '
@@ -306,7 +306,7 @@ test_expect_success 'check spaces as indentation (indent-with-non-tab: off)' ' test_expect_success 'check spaces as indentation (indent-with-non-tab: on)' ' git config core.whitespace "indent-with-non-tab" && - echo " foo ();" > x && + echo " foo ();" > x && ! git diff --check '
diff --git a/ws.c b/ws.c
index 46cbdd6..5ebd109 100644
--- a/ws.c
+++ b/ws.c@@ -159,5 +159,5 @@ unsigned check_and_emit_line(const char *line, int len, unsigned ws_rule, } /* Check for indent using non-tab. */ - if ((ws_rule & WS_INDENT_WITH_NON_TAB) && leading_space >= 8) + if ((ws_rule & WS_INDENT_WITH_NON_TAB) && leading_space >= 7) result |= WS_INDENT_WITH_NON_TAB;
\ No newline at end of file -- 1.5.4.rc0.41.gf723