git: 49224311fe6d - main - ncal: make -h toggle highlighting of today.
- Go to: [ bottom of page ] [ top of archives ] [ this month ]
Date: Thu, 12 Dec 2024 07:23:24 UTC
The branch main has been updated by phk:
URL: https://cgit.FreeBSD.org/src/commit/?id=49224311fe6d850e5c25a7e79328c87029df6be8
commit 49224311fe6d850e5c25a7e79328c87029df6be8
Author: Poul-Henning Kamp <phk@FreeBSD.org>
AuthorDate: 2024-12-12 07:22:14 +0000
Commit: Poul-Henning Kamp <phk@FreeBSD.org>
CommitDate: 2024-12-12 07:22:14 +0000
ncal: make -h toggle highlighting of today.
---
usr.bin/ncal/ncal.1 | 3 ++-
usr.bin/ncal/ncal.c | 14 ++++++--------
2 files changed, 8 insertions(+), 9 deletions(-)
diff --git a/usr.bin/ncal/ncal.1 b/usr.bin/ncal/ncal.1
index 8ece31b79cc1..2c7c82fd318e 100644
--- a/usr.bin/ncal/ncal.1
+++ b/usr.bin/ncal/ncal.1
@@ -79,7 +79,8 @@ the current month is displayed.
The options are as follows:
.Bl -tag -width indent
.It Fl h
-Turns off highlighting of today.
+Toggle highlighting of today.
+By default highlighting is enabled if stdout is a TTY.
.It Fl J
Display Julian Calendar, if combined with the
.Fl e
diff --git a/usr.bin/ncal/ncal.c b/usr.bin/ncal/ncal.c
index 2829caf8a6a0..dc50dd60bf0b 100644
--- a/usr.bin/ncal/ncal.c
+++ b/usr.bin/ncal/ncal.c
@@ -158,7 +158,7 @@ static char jdaystr[] = " 1 2 3 4 5 6 7 8 9"
" 350 351 352 353 354 355 356 357 358 359"
" 360 361 362 363 364 365 366";
-static int flag_nohighlight; /* user doesn't want a highlighted today */
+static int flag_highlight; /* highlighted today */
static int flag_weeks; /* user wants number of week */
static int nswitch; /* user defined switch date */
static int nswitchb; /* switch date for backward compatibility */
@@ -216,7 +216,7 @@ main(int argc, char *argv[])
int before, after;
const char *locale; /* locale to get country code */
- flag_nohighlight = 0;
+ flag_highlight = isatty(STDOUT_FILENO);
flag_weeks = 0;
flag_monday = false;
@@ -299,7 +299,7 @@ main(int argc, char *argv[])
flag_highlightdate = optarg;
break;
case 'h':
- flag_nohighlight = 1;
+ flag_highlight = !flag_highlight;
break;
case 'e':
if (flag_backward)
@@ -834,8 +834,7 @@ mkmonthr(int y, int m, int jd_flag, struct monthlines *mlines)
dt.d = j - jan1 + 1;
else
sdater(j, &dt);
- if (j == highlightdate && !flag_nohighlight
- && isatty(STDOUT_FILENO))
+ if (j == highlightdate && flag_highlight)
highlight(mlines->lines[i] + k,
ds + dt.d * dw, dw, &l);
else
@@ -942,8 +941,7 @@ 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
- && isatty(STDOUT_FILENO))
+ if (j == highlightdate && flag_highlight)
highlight(mlines->lines[i] + k,
ds + dt.d * dw, dw, &l);
else
@@ -1143,7 +1141,7 @@ highlight(char *dst, char *src, int len, int *extralen)
* This check is not necessary, should have been handled before calling
* this function.
*/
- if (flag_nohighlight) {
+ if (!flag_highlight) {
memcpy(dst, src, len);
return;
}