Make empire, empsched and files catch extra operands
authorMarkus Armbruster <armbru@pond.sub.org>
Sat, 16 Jan 2010 08:29:53 +0000 (09:29 +0100)
committerMarkus Armbruster <armbru@pond.sub.org>
Tue, 19 Jan 2010 07:40:42 +0000 (08:40 +0100)
This also avoids a dead increment ap++ in src/client/main.c reported
by the Clang Static Analyzer.

src/client/main.c
src/util/empsched.c
src/util/files.c

index 06d60cd85b8af8e61b0849f7575e3eab69770a39..0a55067fb3ad25fb82aea4058dae6d03d4e266e0 100644 (file)
@@ -138,6 +138,11 @@ main(int argc, char **argv)
        }
        uname = pwd->pw_name;
     }
+    if (*ap) {
+       fprintf(stderr, "%s: extra operand %s\n", argv[0], *ap);
+       fprintf(stderr, "Try -h for help.\n");
+       exit(1);
+    }
 
     getsose();
     if (auxfname && (auxfp = fopen(auxfname, "a")) == NULL) {
index 6fd252db76bc6a46b82664471c6acce3da0505c7..185959686387facf4580b0d978e8c3e47fabc953 100644 (file)
@@ -92,6 +92,12 @@ main(int argc, char *argv[])
        }
     }
 
+    if (argc - optind > 1) {
+       fprintf(stderr, "%s: extra operand %s\n", argv[0], argv[optind+1]);
+       fprintf(stderr, "Try -h for help.\n");
+       exit(1);
+    }
+
     if (emp_config(config_file) < 0)
        exit(1);
 
index 03ad037f257c12ab3502a83e54ce808e80c159a2..71233c685f6a39649cacf3026620a71f00cd58c9 100644 (file)
@@ -105,6 +105,12 @@ main(int argc, char *argv[])
        }
     }
 
+    if (argv[optind]) {
+       fprintf(stderr, "%s: does not take operands\n", argv[0]);
+       fprintf(stderr, "Try -h for help.\n");
+       exit(1);
+    }
+
     empfile_init();
     if (emp_config(config_file) < 0)
        exit(1);