From 6942af983229b31c362848f42bf2ea7def87a807 Mon Sep 17 00:00:00 2001 From: XANTRONIX Development Date: Mon, 5 Oct 2020 23:28:45 -0400 Subject: [PATCH] Slight tweaks to argument parsing --- bin/ax25dump.c | 18 +++++------------- bin/tncd.c | 10 +++++----- 2 files changed, 10 insertions(+), 18 deletions(-) diff --git a/bin/ax25dump.c b/bin/ax25dump.c index b7aab6d..f660b16 100644 --- a/bin/ax25dump.c +++ b/bin/ax25dump.c @@ -59,31 +59,19 @@ int main(int argc, char **argv) { while ((ch = getopt_long(argc, argv, "s:i:", opts, &index)) >= 0) { switch (ch) { - case '?': - usage(argc, argv, NULL); - break; - case 's': sock = optarg; break; case 'i': ifname = optarg; break; default: - break; + usage(argc, argv, NULL); } } - if (argc < 2) { - usage(argc, argv, "Not enough arguments provided"); - } - memset(&info, '\0', sizeof(info)); if (ifname) { patty_client_setsockopt_if ifreq; - if (argc < 3) { - usage(argc, argv, "No interface name provided"); - } - info.flags = PATTY_KISS_TNC_FD; if ((client = patty_client_new(sock)) == NULL) { @@ -113,6 +101,10 @@ int main(int argc, char **argv) { } else { patty_error e; + if (argc < 2) { + usage(argc, argv, "Not enough arguments provided"); + } + if (patty_bin_kiss_config(argc - 1, argv + 1, &info, &e) < 0) { fprintf(stderr, "%s: %s: %s: %s\n", argv[0], "patty_bin_kiss_config()", sock, patty_error_string(&e)); diff --git a/bin/tncd.c b/bin/tncd.c index 20425cb..7117b3a 100644 --- a/bin/tncd.c +++ b/bin/tncd.c @@ -178,15 +178,11 @@ int main(int argc, char **argv) { while ((ch = getopt_long(argc, argv, "s:i:", opts, &index)) >= 0) { switch (ch) { - case '?': - usage(argc, argv, NULL); - break; - case 's': sock = optarg; break; case 'i': ifname = optarg; break; default: - break; + usage(argc, argv, NULL); } } @@ -194,6 +190,10 @@ int main(int argc, char **argv) { usage(argc, argv, "No interface name provided"); } + if (optind < argc) { + usage(argc, argv, "Invalid arguments provided"); + } + if ((client = patty_client_new(sock)) == NULL) { fprintf(stderr, "%s: %s: %s\n", argv[0], "patty_client_new()", strerror(errno));