summaryrefslogtreecommitdiffstats
path: root/sail
diff options
context:
space:
mode:
authorjwise <jwise@NetBSD.org>2000-11-30 21:38:57 +0000
committerjwise <jwise@NetBSD.org>2000-11-30 21:38:57 +0000
commitd37e7f8995e3cfbfe3fa6c2047aceba7922c6dbd (patch)
treefba7c324c2993d824b0226878995b08404e26058 /sail
parent94ee638cf5cbba5d7409285eb4d09bd4e22cdf23 (diff)
downloadbsdgames-darwin-d37e7f8995e3cfbfe3fa6c2047aceba7922c6dbd.tar.gz
bsdgames-darwin-d37e7f8995e3cfbfe3fa6c2047aceba7922c6dbd.tar.zst
bsdgames-darwin-d37e7f8995e3cfbfe3fa6c2047aceba7922c6dbd.zip
Use getopt(3) for flag processing.
Diffstat (limited to 'sail')
-rw-r--r--sail/main.c16
1 files changed, 11 insertions, 5 deletions
diff --git a/sail/main.c b/sail/main.c
index df50abf8..d6a3e948 100644
--- a/sail/main.c
+++ b/sail/main.c
@@ -1,4 +1,4 @@
-/* $NetBSD: main.c,v 1.9 2000/11/30 21:31:33 jwise Exp $ */
+/* $NetBSD: main.c,v 1.10 2000/11/30 21:38:57 jwise Exp $ */
/*
* Copyright (c) 1983, 1993
@@ -43,7 +43,7 @@ __COPYRIGHT("@(#) Copyright (c) 1983, 1993\n\
#if 0
static char sccsid[] = "@(#)main.c 8.2 (Berkeley) 4/28/95";
#else
-__RCSID("$NetBSD: main.c,v 1.9 2000/11/30 21:31:33 jwise Exp $");
+__RCSID("$NetBSD: main.c,v 1.10 2000/11/30 21:38:57 jwise Exp $");
#endif
#endif /* not lint */
@@ -60,7 +60,7 @@ int
main(int argc, char **argv)
{
char *p;
- int i;
+ int a,i;
int fd;
gid = getgid();
@@ -73,18 +73,21 @@ main(int argc, char **argv)
close(fd);
srand(getpid());
+
if ((p = strrchr(*argv, '/')) != NULL)
p++;
else
p = *argv;
+
if (strcmp(p, "driver") == 0 || strcmp(p, "saildriver") == 0)
mode = MODE_DRIVER;
else if (strcmp(p, "sail.log") == 0)
mode = MODE_LOGGER;
else
mode = MODE_PLAYER;
- while ((p = *++argv) && *p == '-')
- switch (p[1]) {
+
+ while (a = getopt(argc, argv, "dsDxlb"))
+ switch (a) {
case 'd':
mode = MODE_DRIVER;
break;
@@ -107,12 +110,15 @@ main(int argc, char **argv)
fprintf(stderr, "SAIL: Unknown flag %s.\n", p);
exit(1);
}
+
if (*argv)
game = atoi(*argv);
else
game = -1;
+
if ((i = setjmp(restart)) != 0)
mode = i;
+
switch (mode) {
case MODE_PLAYER:
return pl_main();