diff options
author | Ton Voon <tonvoon@users.sourceforge.net> | 2006-07-13 12:50:23 +0000 |
---|---|---|
committer | Ton Voon <tonvoon@users.sourceforge.net> | 2006-07-13 12:50:23 +0000 |
commit | 548083b2ea865474915fc8a9ddd361e997585a02 (patch) | |
tree | f3766c1f5d8f8ea1b2b721a5792e4fb4daf1cf68 /plugins/utils.c | |
parent | 6b9cc76d0a27631fbab19a31ab8bd46e143b7580 (diff) | |
download | monitoring-plugins-548083b2ea865474915fc8a9ddd361e997585a02.tar.gz |
Move new util_* functions to lib/
git-svn-id: https://nagiosplug.svn.sourceforge.net/svnroot/nagiosplug/nagiosplug/trunk@1451 f882894a-f735-0410-b71e-b25c423dba1c
Diffstat (limited to 'plugins/utils.c')
-rw-r--r-- | plugins/utils.c | 191 |
1 files changed, 1 insertions, 190 deletions
diff --git a/plugins/utils.c b/plugins/utils.c index cb013412..2b3accea 100644 --- a/plugins/utils.c +++ b/plugins/utils.c @@ -16,6 +16,7 @@ #include "common.h" #include "utils.h" +#include "utils_base.h" #include <stdarg.h> #include <limits.h> @@ -132,16 +133,6 @@ state_text (int result) } void -die (int result, const char *fmt, ...) -{ - va_list ap; - va_start (ap, fmt); - vprintf (fmt, ap); - va_end (ap); - exit (result); -} - -void timeout_alarm_handler (int signo) { if (signo == SIGALRM) { @@ -266,156 +257,6 @@ is_option (char *str) return FALSE; } -void set_range_start (range *this, double value) { - this->start = value; - this->start_infinity = FALSE; -} - -void set_range_end (range *this, double value) { - this->end = value; - this->end_infinity = FALSE; -} - -range -*parse_range_string (char *str) { - range *temp_range; - double start; - double end; - char *end_str; - - temp_range = (range *) malloc(sizeof(range)); - - /* Set defaults */ - temp_range->start = 0; - temp_range->start_infinity = FALSE; - temp_range->end = 0; - temp_range->end_infinity = TRUE; - temp_range->alert_on = OUTSIDE; - - if (str[0] == '@') { - temp_range->alert_on = INSIDE; - str++; - } - - end_str = index(str, ':'); - if (end_str != NULL) { - if (str[0] == '~') { - temp_range->start_infinity = TRUE; - } else { - start = strtod(str, NULL); /* Will stop at the ':' */ - set_range_start(temp_range, start); - } - end_str++; /* Move past the ':' */ - } else { - end_str = str; - } - end = strtod(end_str, NULL); - if (strcmp(end_str, "") != 0) { - set_range_end(temp_range, end); - } - - if (temp_range->start_infinity == TRUE || - temp_range->end_infinity == TRUE || - temp_range->start <= temp_range->end) { - return temp_range; - } - free(temp_range); - return NULL; -} - -/* returns 0 if okay, otherwise 1 */ -int -_set_thresholds(thresholds **my_thresholds, char *warn_string, char *critical_string) -{ - thresholds *temp_thresholds = NULL; - - temp_thresholds = malloc(sizeof(temp_thresholds)); - - temp_thresholds->warning = NULL; - temp_thresholds->critical = NULL; - - if (warn_string != NULL) { - if ((temp_thresholds->warning = parse_range_string(warn_string)) == NULL) { - return 1; - } - } - if (critical_string != NULL) { - if ((temp_thresholds->critical = parse_range_string(critical_string)) == NULL) { - return 1; - } - } - - if (*my_thresholds != 0) { - /* printf("Freeing here: %d\n", *my_thresholds); */ - free(*my_thresholds); - } - *my_thresholds = temp_thresholds; - - return 0; -} - -void -set_thresholds(thresholds **my_thresholds, char *warn_string, char *critical_string) -{ - if (_set_thresholds(my_thresholds, warn_string, critical_string) == 0) { - return; - } else { - usage(_("Range format incorrect")); - } -} - -/* Returns TRUE if alert should be raised based on the range */ -int -check_range(double value, range *my_range) -{ - int false = FALSE; - int true = TRUE; - - if (my_range->alert_on == INSIDE) { - false = TRUE; - true = FALSE; - } - - if (my_range->end_infinity == FALSE && my_range->start_infinity == FALSE) { - if ((my_range->start <= value) && (value <= my_range->end)) { - return false; - } else { - return true; - } - } else if (my_range->start_infinity == FALSE && my_range->end_infinity == TRUE) { - if (my_range->start <= value) { - return false; - } else { - return true; - } - } else if (my_range->start_infinity == TRUE && my_range->end_infinity == FALSE) { - if (value <= my_range->end) { - return false; - } else { - return true; - } - } else { - return false; - } -} - -/* Returns status */ -int -get_status(double value, thresholds *my_thresholds) -{ - if (my_thresholds->critical != NULL) { - if (check_range(value, my_thresholds->critical) == TRUE) { - return STATE_CRITICAL; - } - } - if (my_thresholds->warning != NULL) { - if (check_range(value, my_thresholds->warning) == TRUE) { - return STATE_WARNING; - } - } - return STATE_OK; -} - #ifdef NEED_GETTIMEOFDAY int gettimeofday (struct timeval *tv, struct timezone *tz) @@ -727,33 +568,3 @@ char *fperfdata (const char *label, return data; } - -char *np_escaped_string (const char *string) { - char *data; - int i, j=0; - data = strdup(string); - for (i=0; data[i]; i++) { - if (data[i] == '\\') { - switch(data[++i]) { - case 'n': - data[j++] = '\n'; - break; - case 'r': - data[j++] = '\r'; - break; - case 't': - data[j++] = '\t'; - break; - case '\\': - data[j++] = '\\'; - break; - default: - data[j++] = data[i]; - } - } else { - data[j++] = data[i]; - } - } - data[j] = '\0'; - return data; -} |