ref: 5e098228acee982a11484fc5f5b3d127a521dfdd
parent: b3215c807556cdaaa0f949f1fb3f97c484ffd1da
author: kvik <[email protected]>
date: Sat Jun 19 08:00:52 EDT 2021
cal: fix days of week alignment for year view (thanks [email protected]) term% cal -s1 2021 2021 Jan Feb Mar M Tu W Th F Sa Su M Tu W Th F Sa Su M Tu W Th F Sa Su 1 2 3 1 2 3 4 5 6 7 1 2 3 4 5 6 7 4 5 6 7 8 9 10 8 9 10 11 12 13 14 8 9 10 11 12 13 14 11 12 13 14 15 16 17 15 16 17 18 19 20 21 15 16 17 18 19 20 21 18 19 20 21 22 23 24 22 23 24 25 26 27 28 22 23 24 25 26 27 28 25 26 27 28 29 30 31 29 30 31 … Note how the days (i.e. ' M Tu W Th F Sa Su') for Feb and Mar do not align with the day numbers. This is because an extra space is left *before* adding the terminating '\0' via the pointer `dayw`. With the patch applied the calendar aligns nicely for the year view: term% cal -s1 2021 2021 Jan Feb Mar M Tu W Th F Sa Su M Tu W Th F Sa Su M Tu W Th F Sa Su 1 2 3 1 2 3 4 5 6 7 1 2 3 4 5 6 7 4 5 6 7 8 9 10 8 9 10 11 12 13 14 8 9 10 11 12 13 14 11 12 13 14 15 16 17 15 16 17 18 19 20 21 15 16 17 18 19 20 21 18 19 20 21 22 23 24 22 23 24 25 26 27 28 22 23 24 25 26 27 28 25 26 27 28 29 30 31 29 30 31 …
--- a/sys/src/cmd/cal.c
+++ b/sys/src/cmd/cal.c
@@ -60,7 +60,7 @@
Binit(&bout, 1, OWRITE);
dayw = dayws + 3*wstart;
- dayw[3*7] = '\0';
+ dayw[(3*7)-1] = '\0';
/*
* no arg, print current month