whitespace: fix off-by-one error in non-space-in-indent checking

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 <bfields@citi.umich.edu>
Signed-off-by: Junio C Hamano <gitster@pobox.com>
This commit is contained in:
J. Bruce Fields 2007-12-16 11:31:37 -05:00 коммит произвёл Junio C Hamano
Родитель d7e522cffb
Коммит 4d9697c787
2 изменённых файлов: 3 добавлений и 3 удалений

Просмотреть файл

@ -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
'

2
ws.c
Просмотреть файл

@ -159,7 +159,7 @@ 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;
if (stream) {