|
|
1.1 ! root 1: /* ! 2: * Copyright (c) 1983 Regents of the University of California. ! 3: * All rights reserved. The Berkeley software License Agreement ! 4: * specifies the terms and conditions for redistribution. ! 5: */ ! 6: ! 7: #ifndef lint ! 8: char copyright[] = ! 9: "@(#) Copyright (c) 1980 Regents of the University of California.\n\ ! 10: All rights reserved.\n"; ! 11: #endif not lint ! 12: ! 13: #ifndef lint ! 14: static char sccsid[] = "@(#)main.c 5.1 (Berkeley) 5/29/85"; ! 15: #endif not lint ! 16: ! 17: #include "externs.h" ! 18: ! 19: /*ARGSUSED*/ ! 20: main(argc, argv) ! 21: int argc; ! 22: register char **argv; ! 23: { ! 24: register char *p; ! 25: int i; ! 26: extern char _sobuf[]; ! 27: ! 28: setbuf(stdout, _sobuf); ! 29: (void) srand(getpid()); ! 30: issetuid = getuid() != geteuid(); ! 31: if (p = rindex(*argv, '/')) ! 32: p++; ! 33: else ! 34: p = *argv; ! 35: if (strcmp(p, "driver") == 0 || strcmp(p, "saildriver") == 0) ! 36: mode = MODE_DRIVER; ! 37: else if (strcmp(p, "sail.log") == 0) ! 38: mode = MODE_LOGGER; ! 39: else ! 40: mode = MODE_PLAYER; ! 41: while ((p = *++argv) && *p == '-') ! 42: switch (p[1]) { ! 43: case 'd': ! 44: mode = MODE_DRIVER; ! 45: break; ! 46: case 's': ! 47: mode = MODE_LOGGER; ! 48: break; ! 49: case 'D': ! 50: debug++; ! 51: break; ! 52: case 'x': ! 53: randomize; ! 54: break; ! 55: case 'l': ! 56: longfmt++; ! 57: break; ! 58: case 'b': ! 59: nobells++; ! 60: break; ! 61: default: ! 62: fprintf(stderr, "SAIL: Unknown flag %s.\n", p); ! 63: exit(1); ! 64: } ! 65: if (*argv) ! 66: game = atoi(*argv); ! 67: else ! 68: game = -1; ! 69: if (i = setjmp(restart)) ! 70: mode = i; ! 71: switch (mode) { ! 72: case MODE_PLAYER: ! 73: return pl_main(); ! 74: case MODE_DRIVER: ! 75: return dr_main(); ! 76: case MODE_LOGGER: ! 77: return lo_main(); ! 78: default: ! 79: fprintf(stderr, "SAIL: Unknown mode %d.\n", mode); ! 80: abort(); ! 81: } ! 82: /*NOTREACHED*/ ! 83: }
This archive runs on limited infrastructure. Preserving old code on modern bandwidth. Automated agents are requested to crawl responsibly.