From fe2e5f4aecab99a1c361994e4b678d6709d65f6c Mon Sep 17 00:00:00 2001 From: Thomas Guyot-Sionnest Date: Wed, 13 Feb 2008 11:05:44 +0000 Subject: [PATCH] set_thresholds now let the user free the thresolds. (P.S.: When you set twice the thresholds for a path in check disk (like using -C followed by -p ) it overrides them. All new elements are created with np_add_parameter which initialises the thresholds to NULL.) git-svn-id: https://nagiosplug.svn.sourceforge.net/svnroot/nagiosplug/nagiosplug/trunk@1930 f882894a-f735-0410-b71e-b25c423dba1c --- lib/utils_base.c | 4 ---- plugins/check_disk.c | 8 +++++++- 2 files changed, 7 insertions(+), 5 deletions(-) diff --git a/lib/utils_base.c b/lib/utils_base.c index c0bc4dc..a36eb68 100644 --- a/lib/utils_base.c +++ b/lib/utils_base.c @@ -120,10 +120,6 @@ _set_thresholds(thresholds **my_thresholds, char *warn_string, char *critical_st } } - if (*my_thresholds > 0) { /* Not sure why, but sometimes could be -1 */ - /* printf("Freeing here: %d\n", *my_thresholds); */ - free(*my_thresholds); - } *my_thresholds = temp_thresholds; return 0; diff --git a/plugins/check_disk.c b/plugins/check_disk.c index 363879c..29aec62 100644 --- a/plugins/check_disk.c +++ b/plugins/check_disk.c @@ -688,7 +688,7 @@ process_arguments (int argc, char **argv) printf("ignoring %s matching regex\n", temp_list->name); temp_list = np_del_parameter(temp_list, previous); - /* pointer to first element needs to be uüdated if first item gets deleted */ + /* pointer to first element needs to be updated if first item gets deleted */ if (previous == NULL) path_select_list = temp_list; } else { @@ -828,11 +828,17 @@ print_path (const char *mypath) void set_all_thresholds (struct parameter_list *path) { + if (path->freespace_units != NULL) free(path->freespace_units); set_thresholds(&path->freespace_units, warn_freespace_units, crit_freespace_units); + if (path->freespace_percent != NULL) free (path->freespace_percent); set_thresholds(&path->freespace_percent, warn_freespace_percent, crit_freespace_percent); + if (path->usedspace_units != NULL) free (path->usedspace_units); set_thresholds(&path->usedspace_units, warn_usedspace_units, crit_usedspace_units); + if (path->usedspace_percent != NULL) free (path->usedspace_percent); set_thresholds(&path->usedspace_percent, warn_usedspace_percent, crit_usedspace_percent); + if (path->usedinodes_percent != NULL) free (path->usedinodes_percent); set_thresholds(&path->usedinodes_percent, warn_usedinodes_percent, crit_usedinodes_percent); + if (path->freeinodes_percent != NULL) free (path->freeinodes_percent); set_thresholds(&path->freeinodes_percent, warn_freeinodes_percent, crit_freeinodes_percent); } -- 2.30.2