From: Mark Wooding Date: Sun, 11 Aug 2013 01:08:00 +0000 (+0100) Subject: space.c: Fix trailing-newline misreporting in `-c' mode. X-Git-Tag: 1.2.9~2^2 X-Git-Url: https://www.chiark.greenend.org.uk/ucgi/~mdw/git/misc/commitdiff_plain/8fe55a253066dac15e7f36325500d1d99043bf9a space.c: Fix trailing-newline misreporting in `-c' mode. Reduction of the recent-newlines counter was being done only in the output case. --- diff --git a/space.c b/space.c index fe4c35d..07ea82a 100644 --- a/space.c +++ b/space.c @@ -220,7 +220,7 @@ static int space(const char *name) nnl = 1; } } - if (fout) while (nnl--) putc('\n', fout); + if (fout) while (nnl--) putc('\n', fout); else nnl = 0; } goto end; case '\n': @@ -237,7 +237,8 @@ static int space(const char *name) else if (fout) { while (nnl) { putc('\n', fout); nnl--; } putc(ch, fout); - } + } else + nnl = 0; f |= f_newline; f &= ~(f_tab | f_warnspacetab | f_warntabs | f_warnspaces); if (flags & F_TABIFY) @@ -247,7 +248,7 @@ static int space(const char *name) last = '\n'; break; default: - if (fout) while (nnl) { putc('\n', fout); nnl--; } + if (fout) while (nnl) { putc('\n', fout); nnl--; } else nnl = 0; if (nwsp) { if (flags & F_UNTABIFY) { if (fout) for (; ohpos < hpos; ohpos++) putc(' ', fout);