Avoid referring to wrong or even non-existent commands: * When calling xtables_restore_main(), pass the actual program name taken from argv[0]. * Use 'prog_name' in unknown parameter and help output instead of 'xtables-restore' which probably doesn't exist. * While being at it, fix false whitespace in help text. Signed-off-by: Phil Sutter <phil@xxxxxx> --- iptables/xtables-restore.c | 13 +++++++------ 1 file changed, 7 insertions(+), 6 deletions(-) diff --git a/iptables/xtables-restore.c b/iptables/xtables-restore.c index 86f6a3af971f0..2ef42fabc6f45 100644 --- a/iptables/xtables-restore.c +++ b/iptables/xtables-restore.c @@ -7,6 +7,7 @@ #include "config.h" #include <getopt.h> #include <errno.h> +#include <libgen.h> #include <stdbool.h> #include <string.h> #include <stdio.h> @@ -51,7 +52,7 @@ static void print_usage(const char *name, const char *version) " [ --help ]\n" " [ --noflush ]\n" " [ --table=<TABLE> ]\n" - " [ --modprobe=<command> ]\n" + " [ --modprobe=<command> ]\n" " [ --ipv4 ]\n" " [ --ipv6 ]\n", name); } @@ -361,8 +362,7 @@ xtables_restore_main(int family, const char *progname, int argc, char *argv[]) p.testing = 1; break; case 'h': - print_usage("xtables-restore", - PACKAGE_VERSION); + print_usage(prog_name, PACKAGE_VERSION); exit(0); case 'n': h.noflush = 1; @@ -387,7 +387,8 @@ xtables_restore_main(int family, const char *progname, int argc, char *argv[]) break; default: fprintf(stderr, - "Try `xtables-restore -h' for more information.\n"); + "Try `%s -h' for more information.\n", + prog_name); exit(1); } } @@ -443,13 +444,13 @@ xtables_restore_main(int family, const char *progname, int argc, char *argv[]) int xtables_ip4_restore_main(int argc, char *argv[]) { - return xtables_restore_main(NFPROTO_IPV4, "iptables-restore", + return xtables_restore_main(NFPROTO_IPV4, basename(*argv), argc, argv); } int xtables_ip6_restore_main(int argc, char *argv[]) { - return xtables_restore_main(NFPROTO_IPV6, "ip6tables-restore", + return xtables_restore_main(NFPROTO_IPV6, basename(*argv), argc, argv); } -- 2.21.0