From 2a139ee92f015a341c2b54e89e993cecdceb06cc Mon Sep 17 00:00:00 2001 From: "M. Sean Finney" Date: Thu, 6 Oct 2005 12:16:06 +0000 Subject: [PATCH] fix for misreporting temperature in perfdata output for check_ups (debian bts id: #316534) git-svn-id: https://nagiosplug.svn.sourceforge.net/svnroot/nagiosplug/nagiosplug/trunk@1243 f882894a-f735-0410-b71e-b25c423dba1c --- plugins/check_ups.c | 7 +++++-- 1 file changed, 5 insertions(+), 2 deletions(-) diff --git a/plugins/check_ups.c b/plugins/check_ups.c index e11332f..786cedc 100644 --- a/plugins/check_ups.c +++ b/plugins/check_ups.c @@ -98,6 +98,7 @@ main (int argc, char **argv) int result = STATE_UNKNOWN; char *message; char *data; + char *tunits; char temp_buffer[MAX_INPUT_BUFFER]; double ups_utility_deviation = 0.0; int res; @@ -281,10 +282,12 @@ main (int argc, char **argv) else { supported_options |= UPS_TEMP; if (temp_output_c) { + tunits="degC"; ups_temperature = atof (temp_buffer); asprintf (&message, "%sTemp=%3.1fC", message, ups_temperature); } else { + tunits="degF"; ups_temperature = (atof (temp_buffer) * 1.8) + 32; asprintf (&message, "%sTemp=%3.1fF", message, ups_temperature); } @@ -297,13 +300,13 @@ main (int argc, char **argv) result = max_state (result, STATE_WARNING); } asprintf (&data, "%s %s", data, - perfdata ("temp", (long)ups_temperature, "degF", + perfdata ("temp", (long)ups_temperature, tunits, check_warn, (long)(1000*warning_value), check_crit, (long)(1000*critical_value), TRUE, 0, FALSE, 0)); } else { asprintf (&data, "%s %s", data, - perfdata ("temp", (long)ups_temperature, "degF", + perfdata ("temp", (long)ups_temperature, tunits, FALSE, 0, FALSE, 0, TRUE, 0, FALSE, 0)); } } -- 2.30.2