[hackers] [slstatus][PATCH] Fix temperature reporting on OpenBSD.

From: dsp <dsp_AT_2f30.org>
Date: Thu, 31 Oct 2019 22:50:32 -0600

Hey list!

On OpenBSD i noticed that if you set the temperature component to be printed
it will only show the first digit due to the integer division. So for example
a temperature of 54 C shows as 5. This patch first treats it as a float
before truncating the non decimal digits.

From 407f7477bc99fd493922ff73c9803bd1b5d1dfac Mon Sep 17 00:00:00 2001
From: spiros thanasoulas <dsp_AT_2f30.org>
Date: Thu, 31 Oct 2019 20:36:04 -0600
Subject: [PATCH] On OpenBSD although the formula is correct due to integer
 division a temperature of for example 54 celsius appears as 5. this patch
 first treats it as a floating point op before retaining the non decimal
 digits

---
 components/temperature.c | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/components/temperature.c b/components/temperature.c
index 8462d0f..8e1f222 100644
--- a/components/temperature.c
+++ b/components/temperature.c
_AT_@ -45,7 +45,7 @@
 		}
 
 		/* kelvin to celsius */
-		return bprintf("%d", (temp.value - 273150000) / 1E6);
+		return bprintf("%d", (int)((float)(temp.value-273150000) / 1E6));
 	}
 #elif defined(__FreeBSD__)
 	#include <stdio.h>
-- 
2.23.0

Received on Fri Nov 01 2019 - 05:50:32 CET

This archive was generated by hypermail 2.3.0 : Fri Nov 01 2019 - 06:00:27 CET