diff options
author | Aksel Sjögren <asjogren@itrsgroup.com> | 2022-11-29 13:55:32 +0100 |
---|---|---|
committer | Sven Nierlein <sven@nierlein.org> | 2022-11-29 16:38:33 +0100 |
commit | e5db81bb29544b1be6500ad4a4dec5b4002c9962 (patch) | |
tree | 879e7f264eac45f54a62c4f67012a7715a95755e | |
parent | 1bc6d81651c5b5fe865515d420fc2772f4997059 (diff) | |
download | monitoring-plugins-e5db81bb29544b1be6500ad4a4dec5b4002c9962.tar.gz |
check_icmp: fix parsing help/version long options
Fix parsing of the long options --help and --version. The special
handling must be done before calling getopt().
This fixes erroneous output like:
./check_icmp --version
./check_icmp: invalid option -- '-'
./check_icmp: invalid option -- 'e'
./check_icmp: invalid option -- 'r'
./check_icmp: invalid option -- '-'
./check_icmp: invalid option -- 'e'
./check_icmp: invalid option -- 'r'
Signed-off-by: Aksel Sjögren <asjogren@itrsgroup.com>
-rw-r--r-- | plugins-root/check_icmp.c | 16 |
1 files changed, 8 insertions, 8 deletions
diff --git a/plugins-root/check_icmp.c b/plugins-root/check_icmp.c index f8f15351..1f87b75f 100644 --- a/plugins-root/check_icmp.c +++ b/plugins-root/check_icmp.c @@ -451,6 +451,14 @@ main(int argc, char **argv) packets = 5; } + /* support "--help" and "--version" */ + if(argc == 2) { + if(!strcmp(argv[1], "--help")) + strcpy(argv[1], "-h"); + if(!strcmp(argv[1], "--version")) + strcpy(argv[1], "-V"); + } + /* Parse protocol arguments first */ for(i = 1; i < argc; i++) { while((arg = getopt(argc, argv, opts_str)) != EOF) { @@ -555,14 +563,6 @@ main(int argc, char **argv) /* Parse extra opts if any */ argv=np_extra_opts(&argc, argv, progname); - /* support "--help" and "--version" */ - if(argc == 2) { - if(!strcmp(argv[1], "--help")) - strcpy(argv[1], "-h"); - if(!strcmp(argv[1], "--version")) - strcpy(argv[1], "-V"); - } - argv = &argv[optind]; while(*argv) { add_target(*argv); |