[monitoring-plugins] check_icmp: fix parsing help/version long options
Sven Nierlein
git at monitoring-plugins.org
Tue Nov 29 16:40:11 CET 2022
Module: monitoring-plugins
Branch: master
Commit: e5db81bb29544b1be6500ad4a4dec5b4002c9962
Author: Aksel Sjögren <asjogren at itrsgroup.com>
Committer: Sven Nierlein <sven at nierlein.org>
Date: Tue Nov 29 13:55:32 2022 +0100
URL: https://www.monitoring-plugins.org/repositories/monitoring-plugins/commit/?id=e5db81b
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 at itrsgroup.com>
---
plugins-root/check_icmp.c | 16 ++++++++--------
1 file 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)
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);
More information about the Commits
mailing list