diff options
author | Thomas Guyot-Sionnest <dermoth@aei.ca> | 2014-01-29 03:20:23 -0500 |
---|---|---|
committer | Thomas Guyot-Sionnest <dermoth@aei.ca> | 2014-01-29 03:20:23 -0500 |
commit | 8fc9e5ac4b3a699f8d6b78471829692f0c92d5fa (patch) | |
tree | 4d630aa158d65602307723e9c7c6d41eca82b94d /lib/utils_base.c | |
parent | 55f97c2021bf920b62148ea31fdf56d95572d944 (diff) | |
download | monitoring-plugins-8fc9e5ac4b3a699f8d6b78471829692f0c92d5fa.tar.gz |
Move negate' translate_state() to utils_base.h mp_translate_state()
Also use strcasecmp imported from gnulib for simplicity
Diffstat (limited to 'lib/utils_base.c')
-rw-r--r-- | lib/utils_base.c | 17 |
1 files changed, 17 insertions, 0 deletions
diff --git a/lib/utils_base.c b/lib/utils_base.c index f5f75067..04c4b4f9 100644 --- a/lib/utils_base.c +++ b/lib/utils_base.c @@ -369,6 +369,23 @@ char *np_extract_value(const char *varlist, const char *name, char sep) { return value; } + +/* + * Read a string representing a state (ok, warning... or numeric: 0, 1) and + * return the corresponding STATE_ value or ERROR) + */ +int mp_translate_state (char *state_text) { + if (!strcasecmp(state_text,"OK") || !strcmp(state_text,"0")) + return STATE_OK; + if (!strcasecmp(state_text,"WARNING") || !strcmp(state_text,"1")) + return STATE_WARNING; + if (!strcasecmp(state_text,"CRITICAL") || !strcmp(state_text,"2")) + return STATE_CRITICAL; + if (!strcasecmp(state_text,"UNKNOWN") || !strcmp(state_text,"3")) + return STATE_UNKNOWN; + return ERROR; +} + /* * Returns a string to use as a keyname, based on an md5 hash of argv, thus * hopefully a unique key per service/plugin invocation. Use the extra-opts |