Reduction of the recent-newlines counter was being done only in the
output case.
- if (fout) while (nnl--) putc('\n', fout);
+ if (fout) while (nnl--) putc('\n', fout); else nnl = 0;
else if (fout) {
while (nnl) { putc('\n', fout); nnl--; }
putc(ch, fout);
else if (fout) {
while (nnl) { putc('\n', fout); nnl--; }
putc(ch, fout);
f |= f_newline;
f &= ~(f_tab | f_warnspacetab | f_warntabs | f_warnspaces);
if (flags & F_TABIFY)
f |= f_newline;
f &= ~(f_tab | f_warnspacetab | f_warntabs | f_warnspaces);
if (flags & F_TABIFY)
last = '\n';
break;
default:
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);
if (nwsp) {
if (flags & F_UNTABIFY) {
if (fout) for (; ohpos < hpos; ohpos++) putc(' ', fout);