[monitoring-plugins] Reintroduce positional arguments
Lorenz Kästle
git at monitoring-plugins.org
Mon Aug 11 23:30:12 CEST 2025
Module: monitoring-plugins
Branch: master
Commit: 5a79cd31c48307d18a637271f4a0a13327fd3073
Author: Lorenz Kästle <12514511+RincewindsHat at users.noreply.github.com>
Date: Wed Mar 12 22:15:57 2025 +0100
URL: https://www.monitoring-plugins.org/repositories/monitoring-plugins/commit/?id=5a79cd31
Reintroduce positional arguments
---
plugins/check_users.c | 47 +++++++++++++++++++++++++++++++----------------
1 file 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) {
}
}
+ int option_char = optind;
+
+ if (warning_range == NULL && argc > option_char) {
+ warning_range = argv[option_char++];
+ }
+
+ if (critical_range == NULL && argc > option_char) {
+ critical_range = argv[option_char++];
+ }
+
// TODO add proper verification for ranges here!
+ mp_range_parsed tmp;
if (warning_range) {
- mp_range_parsed tmp = mp_parse_range_string(warning_range);
- if (tmp.error == MP_PARSING_SUCCES) {
- result.config.thresholds.warning = tmp.range;
- result.config.thresholds.warning_is_set = true;
- } else {
- printf("Failed to parse warning range: %s", warning_range);
- exit(STATE_UNKNOWN);
- }
+ tmp = mp_parse_range_string(warning_range);
+ } else {
+ tmp = mp_parse_range_string(argv[option_char++]);
+ }
+ if (tmp.error == MP_PARSING_SUCCES) {
+ result.config.thresholds.warning = tmp.range;
+ result.config.thresholds.warning_is_set = true;
+ } else {
+ printf("Failed to parse warning range: %s", warning_range);
+ exit(STATE_UNKNOWN);
}
if (critical_range) {
- mp_range_parsed tmp = mp_parse_range_string(critical_range);
- if (tmp.error == MP_PARSING_SUCCES) {
- result.config.thresholds.critical = tmp.range;
- result.config.thresholds.critical_is_set = true;
- } else {
- printf("Failed to parse critical range: %s", critical_range);
- exit(STATE_UNKNOWN);
- }
+ tmp = mp_parse_range_string(critical_range);
+ } else {
+ tmp = mp_parse_range_string(argv[option_char++]);
+ }
+ if (tmp.error == MP_PARSING_SUCCES) {
+ result.config.thresholds.critical = tmp.range;
+ result.config.thresholds.critical_is_set = true;
+ } else {
+ printf("Failed to parse critical range: %s", critical_range);
+ exit(STATE_UNKNOWN);
}
return result;
More information about the Commits
mailing list