]> git.lizzy.rs Git - plan9front.git/commitdiff
cal: fix days of week alignment for year view (thanks igor@9lab.org)
authorkvik <kvik@a-b.xyz>
Sat, 19 Jun 2021 12:00:52 +0000 (12:00 +0000)
committerkvik <kvik@a-b.xyz>
Sat, 19 Jun 2021 12:00:52 +0000 (12:00 +0000)
  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
  …

sys/src/cmd/cal.c

index cb70a243adcb319c359f8991b815236e93ccdce3..e14f41bc1e3d91e3ea9680199c3b72cba33fbbfb 100644 (file)
@@ -60,7 +60,7 @@ main(int argc, char *argv[])
        Binit(&bout, 1, OWRITE);
 
        dayw = dayws + 3*wstart;
-       dayw[3*7] = '\0';
+       dayw[(3*7)-1] = '\0';
 
 /*
  * no arg, print current month