summary refs log tree commit diff
path: root/ws.c
diff options
context:
space:
mode:
authorJunio C Hamano <gitster@pobox.com>2010-12-01 14:42:00 -0800
committerJunio C Hamano <gitster@pobox.com>2010-12-01 14:42:00 -0800
commitdee40e5178bab78aaf655ee4323f3141acd17654 (patch)
tree3eb339b866a49ab822850e95b13dbf9bc5607871 /ws.c
parent7d43de925b2771d295d8fc4341b7bd544e2a74fa (diff)
parentd35711adc4cffe0c4aebd85c197080c7163bcb77 (diff)
Merge branch 'js/maint-apply-tab-in-indent-fix' into HEAD
* js/maint-apply-tab-in-indent-fix:
  apply --whitespace=fix: fix tab-in-indent
Diffstat (limited to 'ws.c')
-rw-r--r--ws.c3
1 files changed, 2 insertions, 1 deletions
diff --git a/ws.c b/ws.c
index 7302f8f5a2..e3504360da 100644
--- a/ws.c
+++ b/ws.c
@@ -363,12 +363,13 @@ void ws_fix_copy(struct strbuf *dst, const char *src, int len, unsigned ws_rule,
 		fixed = 1;
 	} else if ((ws_rule & WS_TAB_IN_INDENT) && last_tab_in_indent >= 0) {
 		/* Expand tabs into spaces */
+		int start = dst->len;
 		int last = last_tab_in_indent + 1;
 		for (i = 0; i < last; i++) {
 			if (src[i] == '\t')
 				do {
 					strbuf_addch(dst, ' ');
-				} while (dst->len % 8);
+				} while ((dst->len - start) % 8);
 			else
 				strbuf_addch(dst, src[i]);
 		}