From 7b12e8084afea8f31ab63ac1e13a5c40932f1215 Mon Sep 17 00:00:00 2001 From: Sigrid Date: Tue, 12 Jan 2021 21:08:12 +0100 Subject: [PATCH] cal: use Sa/Su in all cases, also simplify the code --- sys/src/cmd/cal.c | 18 ++++++++---------- 1 file changed, 8 insertions(+), 10 deletions(-) diff --git a/sys/src/cmd/cal.c b/sys/src/cmd/cal.c index 9a12b4a88..cb70a243a 100644 --- a/sys/src/cmd/cal.c +++ b/sys/src/cmd/cal.c @@ -2,15 +2,9 @@ #include #include -char *dayw[] = +char dayws[] = { - " S M Tu W Th F S", - " M Tu W Th F Sa Su", - "Tu W Th F Sa Su M", - " W Th F Sa Su M Tu", - "Th F Sa Su M Tu W", - " F Sa Su M Tu W Th", - "Sa Su M Tu W Th F" + "Su M Tu W Th F Sa Su M Tu W Th F Sa", }; char *smon[] = { @@ -48,6 +42,7 @@ void main(int argc, char *argv[]) { int y, i, j, m; + char *dayw; ARGBEGIN{ case 's': @@ -64,6 +59,9 @@ main(int argc, char *argv[]) usage(); Binit(&bout, 1, OWRITE); + dayw = dayws + 3*wstart; + dayw[3*7] = '\0'; + /* * no arg, print current month */ @@ -108,7 +106,7 @@ xshort: if(y < 1 || y > 9999) goto badarg; Bprint(&bout, " %s %ud\n", smon[m-1], y); - Bprint(&bout, "%s\n", dayw[wstart]); + Bprint(&bout, "%s\n", dayw); cal(m, y, string, 24); for(i=0; i<6*24; i+=24) pstr(string+i, 24); @@ -129,7 +127,7 @@ xlong: Bprint(&bout, " %.3s", smon[i]); Bprint(&bout, " %.3s", smon[i+1]); Bprint(&bout, " %.3s\n", smon[i+2]); - Bprint(&bout, "%s %s %s\n", dayw[wstart], dayw[wstart], dayw[wstart]); + Bprint(&bout, "%s %s %s\n", dayw, dayw, dayw); cal(i+1, y, string, 72); cal(i+2, y, string+23, 72); cal(i+3, y, string+46, 72);