cal: don't print terminal control characters unless stdout is a TTY

A similar change was made in svn r223931, but it was incomplete, working
only when the utility was invoked as "ncal".  Fix the same issue when
invoking as "cal".

PR:		268936
Reported by:	Ray Bellis <ray@bellis.me.uk>
MFC after:	2 weeks
Sponsored by:	Axcient
Reviewed by:	imp
Differential Revision: https://reviews.freebsd.org/D38045
This commit is contained in:
Alan Somers 2023-01-13 13:19:03 -07:00
parent eb1795782c
commit 92e978439f
1 changed files with 2 additions and 1 deletions

View File

@ -930,7 +930,8 @@ mkmonthb(int y, int m, int jd_flag, struct monthlines *mlines)
dt.d = j - jan1 + 1;
else
sdateb(j, &dt);
if (j == highlightdate && !flag_nohighlight)
if (j == highlightdate && !flag_nohighlight
&& isatty(STDOUT_FILENO))
highlight(mlines->lines[i] + k,
ds + dt.d * dw, dw, &l);
else