More argument parsing fixes

This commit is contained in:
XANTRONIX Development 2020-10-05 23:39:23 -04:00 committed by XANTRONIX Industrial
parent 6942af9832
commit 7fdf3a8416
2 changed files with 9 additions and 6 deletions

View file

@ -392,10 +392,6 @@ int main(int argc, char **argv) {
while ((ch = getopt_long(argc, argv, "fc:s", opts, &index)) >= 0) { while ((ch = getopt_long(argc, argv, "fc:s", opts, &index)) >= 0) {
switch (ch) { switch (ch) {
case '?':
ret = usage(argc, argv, NULL);
goto error_invalid_args;
case 'c': case 'c':
ctx.config_file = optarg; ctx.config_file = optarg;
break; break;
@ -404,10 +400,17 @@ int main(int argc, char **argv) {
case 's': flags[FLAG_STANDALONE] = 1; break; case 's': flags[FLAG_STANDALONE] = 1; break;
default: default:
break; ret = usage(argc, argv, NULL);
goto error_invalid_args;
} }
} }
if (optind < argc) {
ret = usage(argc, argv, "Too many arguments provided");
goto error_invalid_args;
}
if (flags[FLAG_STANDALONE]) { if (flags[FLAG_STANDALONE]) {
if (argc - optind < 1) { if (argc - optind < 1) {
ret = usage(argc, argv, "No socket path provided"); ret = usage(argc, argv, "No socket path provided");

View file

@ -191,7 +191,7 @@ int main(int argc, char **argv) {
} }
if (optind < argc) { if (optind < argc) {
usage(argc, argv, "Invalid arguments provided"); usage(argc, argv, "Too many arguments provided");
} }
if ((client = patty_client_new(sock)) == NULL) { if ((client = patty_client_new(sock)) == NULL) {