/* Write a line to the output or not, according to command line options.  */
static void flushline(bool)
/* Write a line to the output or not, according to command line options.  */
static void flushline(bool)
{
	if (symlist)
		return;
	if (keep ^ complement) {
		bool blankline = tline[strspn(tline, " \t\n")] == '\0';
		if (blankline && compblank && blankcount != blankmax) {
			delcount += 1;
			blankcount += 1;
		} else {
			if (lnnum && delcount > 0)
				printf("#line %d\n", linenum);
			fputs(tline, stdout);
			delcount = 0;
			blankmax = blankcount = blankline ? blankcount + 1 : 0;
		}
	} else {
		if (lnblank)
			putc('\n', stdout);
		exitstat = 1;
		delcount += 1;
		blankcount = 0;
	}
}