summaryrefslogtreecommitdiffstats
path: root/plugins-root/check_icmp.c
diff options
context:
space:
mode:
authorAksel Sjögren <asjogren@itrsgroup.com>2022-11-29 12:55:32 (GMT)
committerSven Nierlein <sven@nierlein.org>2022-11-29 15:38:33 (GMT)
commite5db81bb29544b1be6500ad4a4dec5b4002c9962 (patch)
tree879e7f264eac45f54a62c4f67012a7715a95755e /plugins-root/check_icmp.c
parent1bc6d81651c5b5fe865515d420fc2772f4997059 (diff)
downloadmonitoring-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.c16
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);