diff options
author | Aksel Sjögren <asjogren@itrsgroup.com> | 2022-11-29 12:55:32 (GMT) |
---|---|---|
committer | Sven Nierlein <sven@nierlein.org> | 2022-11-29 15:38:33 (GMT) |
commit | e5db81bb29544b1be6500ad4a4dec5b4002c9962 (patch) | |
tree | 879e7f264eac45f54a62c4f67012a7715a95755e /plugins-root/check_icmp.c | |
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>
Diffstat (limited to 'plugins-root/check_icmp.c')
-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 f8f1535..1f87b75 100644 --- a/plugins-root/check_icmp.c +++ b/plugins-root/check_icmp.c | |||
@@ -451,6 +451,14 @@ main(int argc, char **argv) | |||
451 | packets = 5; | 451 | packets = 5; |
452 | } | 452 | } |
453 | 453 | ||
454 | /* support "--help" and "--version" */ | ||
455 | if(argc == 2) { | ||
456 | if(!strcmp(argv[1], "--help")) | ||
457 | strcpy(argv[1], "-h"); | ||
458 | if(!strcmp(argv[1], "--version")) | ||
459 | strcpy(argv[1], "-V"); | ||
460 | } | ||
461 | |||
454 | /* Parse protocol arguments first */ | 462 | /* Parse protocol arguments first */ |
455 | for(i = 1; i < argc; i++) { | 463 | for(i = 1; i < argc; i++) { |
456 | while((arg = getopt(argc, argv, opts_str)) != EOF) { | 464 | while((arg = getopt(argc, argv, opts_str)) != EOF) { |
@@ -555,14 +563,6 @@ main(int argc, char **argv) | |||
555 | /* Parse extra opts if any */ | 563 | /* Parse extra opts if any */ |
556 | argv=np_extra_opts(&argc, argv, progname); | 564 | argv=np_extra_opts(&argc, argv, progname); |
557 | 565 | ||
558 | /* support "--help" and "--version" */ | ||
559 | if(argc == 2) { | ||
560 | if(!strcmp(argv[1], "--help")) | ||
561 | strcpy(argv[1], "-h"); | ||
562 | if(!strcmp(argv[1], "--version")) | ||
563 | strcpy(argv[1], "-V"); | ||
564 | } | ||
565 | |||
566 | argv = &argv[optind]; | 566 | argv = &argv[optind]; |
567 | while(*argv) { | 567 | while(*argv) { |
568 | add_target(*argv); | 568 | add_target(*argv); |