SCCS-vsn: usr.bin/calendar/calendar.c 4.1
--- /dev/null
+static char *sccsid = "@(#)calendar.c 4.1 (Berkeley) 81/02/28";
+/* /usr/lib/calendar produces an egrep -f file
+ that will select today's and tomorrow's
+ calendar entries, with special weekend provisions
+
+ used by calendar command
+*/
+#include <time.h>
+
+#define DAY (3600*24L)
+
+char *month[] = {
+ "[Jj]an",
+ "[Ff]eb",
+ "[Mm]ar",
+ "[Aa]pr",
+ "[Mm]ay",
+ "[Jj]un",
+ "[Jj]ul",
+ "[Aa]ug",
+ "[Ss]ep",
+ "[Oo]ct",
+ "[Nn]ov",
+ "[Dd]ec"
+};
+struct tm *localtime();
+
+tprint(t)
+long t;
+{
+ struct tm *tm;
+ tm = localtime(&t);
+ printf("(^|[ (,;])((%s[^ ]* *|%d/)0*%d)([^0123456789]|$)\n",
+ month[tm->tm_mon], tm->tm_mon + 1, tm->tm_mday);
+}
+
+main()
+{
+ long t;
+ time(&t);
+ tprint(t);
+ switch(localtime(&t)->tm_wday) {
+ case 5:
+ t += DAY;
+ tprint(t);
+ case 6:
+ t += DAY;
+ tprint(t);
+ default:
+ t += DAY;
+ tprint(t);
+ }
+}