xref: /original-bsd/games/adventure/okplay.c (revision 24f1d79f)
1 static char sccsid[] = "	okplay.c	4.1	82/05/11	";
2 
3 main(argc, argv)
4 int 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 
15 okplay()
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 
33 holiday(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 }
47 char notinm[] "No adventure in prime time (M-F 9am-5pm) except on holidays\n";
48 
49 notinprime()
50 {
51 	write(2, notinm, sizeof notinm);
52 	exit(1);
53 }
54 
55 advmotd()
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 }
65