Index: games/atc/main.c
===================================================================
RCS file: /cvs/src/games/atc/main.c,v
retrieving revision 1.23
diff -u -p -r1.23 main.c
--- games/atc/main.c 13 Jul 2014 14:01:04 -0000 1.23
+++ games/atc/main.c 19 Nov 2015 22:36:50 -0000
@@ -46,12 +46,13 @@
#include "pathnames.h"
int
-main(int ac, char *av[])
+main(int argc, char *argv[])
{
+ int ch;
int f_usage = 0, f_list = 0, f_showscore = 0;
int f_printpath = 0;
const char *file = NULL;
- char *name, *ptr, *seed;
+ char *seed;
struct sigaction sa;
gid_t gid;
struct itimerval itv;
@@ -66,58 +67,48 @@ main(int ac, char *av[])
makenoise = 1;
seed = NULL;
- name = *av++;
- while (*av) {
-#ifndef SAVEDASH
- if (**av == '-')
- ++*av;
- else
- break;
-#endif
- ptr = *av++;
- while (*ptr) {
- switch (*ptr) {
- case '?':
- case 'u':
- f_usage++;
- break;
- case 'l':
- f_list++;
- break;
- case 's':
- case 't':
- f_showscore++;
- break;
- case 'p':
- f_printpath++;
- break;
- case 'q':
- makenoise = 0;
- break;
- case 'r':
- seed = *av;
- av++;
- break;
- case 'f':
- case 'g':
- file = *av;
- av++;
- break;
- default:
- warnx("unknown option '%c'", *ptr);
- f_usage++;
- break;
- }
- ptr++;
+ while ((ch = getopt(argc, argv, "f:g:lpqr:stu?")) != -1) {
+ switch (ch) {
+ case 'f':
+ case 'g':
+ file = optarg;
+ break;
+ case 'l':
+ f_list = 1;
+ break;
+ case 'p':
+ f_printpath = 1;
+ break;
+ case 'q':
+ makenoise = 0;
+ break;
+ case 'r':
+ seed = optarg;
+ break;
+ case 's':
+ case 't':
+ f_showscore = 1;
+ break;
+ case 'u':
+ case '?':
+ default:
+ f_usage = 1;
+ break;
}
}
+ argc -= optind;
+ argv += optind;
+
+ if (argc > 0)
+ f_usage = 1;
+
if (seed != NULL)
setseed(seed);
if (f_usage)
fprintf(stderr,
"usage: %s [-lpqstu?] [-f game] [-g game] [-r seed]\n",
- name);
+ getprogname());
if (f_showscore)
log_score(1);
if (f_list)