aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorGravatar Thomas Guyot-Sionnest <dermoth@users.sourceforge.net> 2008-02-13 11:05:44 +0000
committerGravatar Thomas Guyot-Sionnest <dermoth@users.sourceforge.net> 2008-02-13 11:05:44 +0000
commitfe2e5f4aecab99a1c361994e4b678d6709d65f6c (patch)
tree0278d52871abbe0682e1b807fd3af550807e4ff6
parent1ea6fedfc02e7885230f6c9cd6ffd429210f0f37 (diff)
downloadmonitoring-plugins-fe2e5f4aecab99a1c361994e4b678d6709d65f6c.tar.gz
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
-rw-r--r--lib/utils_base.c4
-rw-r--r--plugins/check_disk.c8
2 files changed, 7 insertions, 5 deletions
diff --git a/lib/utils_base.c b/lib/utils_base.c
index c0bc4dc5..a36eb680 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 363879c6..29aec629 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);
}