diff options
author | Lorenz Kästle <12514511+RincewindsHat@users.noreply.github.com> | 2025-03-12 22:15:57 +0100 |
---|---|---|
committer | Lorenz Kästle <12514511+RincewindsHat@users.noreply.github.com> | 2025-03-12 22:15:57 +0100 |
commit | 5a79cd31c48307d18a637271f4a0a13327fd3073 (patch) | |
tree | 2cc3a9d370da08169f7c3e78e5090477212cc13d | |
parent | ee3c903fbe37cc5c7537921cdb31e39b4ea25bc6 (diff) | |
download | monitoring-plugins-5a79cd31.tar.gz |
Reintroduce positional arguments
-rw-r--r-- | plugins/check_users.c | 47 |
1 files changed, 31 insertions, 16 deletions
diff --git a/plugins/check_users.c b/plugins/check_users.c index 61427f97..b7b7bd24 100644 --- a/plugins/check_users.c +++ b/plugins/check_users.c | |||
@@ -200,27 +200,42 @@ check_users_config_wrapper process_arguments(int argc, char **argv) { | |||
200 | } | 200 | } |
201 | } | 201 | } |
202 | 202 | ||
203 | int option_char = optind; | ||
204 | |||
205 | if (warning_range == NULL && argc > option_char) { | ||
206 | warning_range = argv[option_char++]; | ||
207 | } | ||
208 | |||
209 | if (critical_range == NULL && argc > option_char) { | ||
210 | critical_range = argv[option_char++]; | ||
211 | } | ||
212 | |||
203 | // TODO add proper verification for ranges here! | 213 | // TODO add proper verification for ranges here! |
214 | mp_range_parsed tmp; | ||
204 | if (warning_range) { | 215 | if (warning_range) { |
205 | mp_range_parsed tmp = mp_parse_range_string(warning_range); | 216 | tmp = mp_parse_range_string(warning_range); |
206 | if (tmp.error == MP_PARSING_SUCCES) { | 217 | } else { |
207 | result.config.thresholds.warning = tmp.range; | 218 | tmp = mp_parse_range_string(argv[option_char++]); |
208 | result.config.thresholds.warning_is_set = true; | 219 | } |
209 | } else { | 220 | if (tmp.error == MP_PARSING_SUCCES) { |
210 | printf("Failed to parse warning range: %s", warning_range); | 221 | result.config.thresholds.warning = tmp.range; |
211 | exit(STATE_UNKNOWN); | 222 | result.config.thresholds.warning_is_set = true; |
212 | } | 223 | } else { |
224 | printf("Failed to parse warning range: %s", warning_range); | ||
225 | exit(STATE_UNKNOWN); | ||
213 | } | 226 | } |
214 | 227 | ||
215 | if (critical_range) { | 228 | if (critical_range) { |
216 | mp_range_parsed tmp = mp_parse_range_string(critical_range); | 229 | tmp = mp_parse_range_string(critical_range); |
217 | if (tmp.error == MP_PARSING_SUCCES) { | 230 | } else { |
218 | result.config.thresholds.critical = tmp.range; | 231 | tmp = mp_parse_range_string(argv[option_char++]); |
219 | result.config.thresholds.critical_is_set = true; | 232 | } |
220 | } else { | 233 | if (tmp.error == MP_PARSING_SUCCES) { |
221 | printf("Failed to parse critical range: %s", critical_range); | 234 | result.config.thresholds.critical = tmp.range; |
222 | exit(STATE_UNKNOWN); | 235 | result.config.thresholds.critical_is_set = true; |
223 | } | 236 | } else { |
237 | printf("Failed to parse critical range: %s", critical_range); | ||
238 | exit(STATE_UNKNOWN); | ||
224 | } | 239 | } |
225 | 240 | ||
226 | return result; | 241 | return result; |