From 2a139ee92f015a341c2b54e89e993cecdceb06cc Mon Sep 17 00:00:00 2001
From: "M. Sean Finney" <seanius@users.sourceforge.net>
Date: Thu, 6 Oct 2005 12:16:06 +0000
Subject: 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

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));
 		}
 	}
-- 
cgit v0.10-9-g596f

