Annotation of 43BSD/usr.bin/calendar/calendar.c, revision 1.1.1.1

1.1       root        1: static char *sccsid = "@(#)calendar.c  4.5 (Berkeley) 84/05/07";
                      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[^ \t]*[ \t]*|(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("(^|[    (,;])((\\*[ \t]*)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: }

unix.superglobalmegacorp.com

This archive runs on limited infrastructure. Preserving old code on modern bandwidth. Automated agents are requested to crawl responsibly.