Просмотр исходного кода

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

M. Sean Finney 20 лет назад
Родитель
Сommit
2a139ee92f
1 измененных файлов с 5 добавлено и 2 удалено
  1. 5 2
      plugins/check_ups.c

+ 5 - 2
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));
 		}
 	}