release version 4.1
[unix-history] / usr / src / games / adventure / okplay.c
CommitLineData
01eb5674 1static char sccsid[] = " okplay.c 4.1 82/05/11 ";
163988fa
RH
2
3main(argc, argv)
4int argc; char *argv[];
5{
6 argv[argc] = 0;
7 okplay();
8 if (argc == 1)
9 advmotd();
10 execv("/usr/games/lib/adventure", argv);
11 write(2, "No adventure just now\n", 22);
12 exit(1);
13}
14
15okplay()
16{
17 int tvec[2];
18 register struct local {
19 int seconds,minutes,hours,daymo,month,year,daywk,dayyr,dst;
20 } *local;
21
22 return;
23 time(tvec);
24 local = localtime(tvec);
25 local->month++;
26 if (local->daywk == 6||local->daywk == 0)
27 return;
28 if (local->hours>=9&&local->hours<18)
29 if (!holiday(local->month, local->daymo))
30 notinprime();
31}
32
33holiday(mo,da)
34 int mo,da;
35{
36 int stbuf[30];
37 char *np, *op;
38
39 np = "/usr/games/holiday/XXXX";
40 for(op=np;*op;op++);
41 *--op=(da%10)|'0';
42 *--op=(da/10)|'0';
43 *--op=(mo%10)|'0';
44 *--op=(mo/10)|'0';
45 return(stat(np,stbuf) == 0);
46}
47char notinm[] "No adventure in prime time (M-F 9am-5pm) except on holidays\n";
48
49notinprime()
50{
51 write(2, notinm, sizeof notinm);
52 exit(1);
53}
54
55advmotd()
56{
57 char ch;
58 int fd;
59
60 fd = open("/usr/games/lib/advmotd", 0);
61 if (fd < 0) return;
62 while(read(fd,&ch,1) ==1) write(1,&ch,1);
63 close(fd);
64}