X-Git-Url: https://www.chiark.greenend.org.uk/ucgi/~mdw/git/misc/blobdiff_plain/a04e47faa5553a6eae2c538782f41ce3543e364b..ed68d9a61a11bc1ba3f80c1b51c2715906c62f87:/space.c?ds=inline 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);