|
|
1.1 ! root 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: }
This archive runs on limited infrastructure. Preserving old code on modern bandwidth. Automated agents are requested to crawl responsibly.