|
|
1.1 root 1: static char *sccsid = "@(#)calendar.c 4.4 (Berkeley) 83/07/03";
2: /* /usr/lib/calendar produces an egrep -f file
3: that will select today's and tomorrow's
4: calendar entries, with special weekend provisions
5:
6: used by calendar command
7: */
8: #include <sys/time.h>
9:
10: #define DAY (3600*24L)
11:
12: char *month[] = {
13: "[Jj]an",
14: "[Ff]eb",
15: "[Mm]ar",
16: "[Aa]pr",
17: "[Mm]ay",
18: "[Jj]un",
19: "[Jj]ul",
20: "[Aa]ug",
21: "[Ss]ep",
22: "[Oo]ct",
23: "[Nn]ov",
24: "[Dd]ec"
25: };
26: struct tm *localtime();
27:
28: tprint(t)
29: long t;
30: {
31: struct tm *tm;
32: tm = localtime(&t);
33: printf("(^|[ (,;])((%s[^ ]* *|(0%d|%d)/)0*%d)([^0123456789]|$)\n",
34: month[tm->tm_mon],
35: tm->tm_mon + 1, tm->tm_mon + 1, tm->tm_mday);
36: printf("(^|[ (,;])((\\* *)0*%d)([^0123456789]|$)\n",
37: tm->tm_mday);
38: }
39:
40: main()
41: {
42: long t;
43: time(&t);
44: tprint(t);
45: switch(localtime(&t)->tm_wday) {
46: case 5:
47: t += DAY;
48: tprint(t);
49: case 6:
50: t += DAY;
51: tprint(t);
52: default:
53: t += DAY;
54: tprint(t);
55: }
56: }
This archive runs on limited infrastructure. Preserving old code on modern bandwidth. Automated agents are requested to crawl responsibly.