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 /plugins | |
| parent | ee3c903fbe37cc5c7537921cdb31e39b4ea25bc6 (diff) | |
| download | monitoring-plugins-5a79cd31c48307d18a637271f4a0a13327fd3073.tar.gz | |
Reintroduce positional arguments
Diffstat (limited to 'plugins')
| -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; |
