Xinqi Bao's Git

Fix temperature reporting on OpenBSD
authordsp <[email protected]>
Fri, 1 Nov 2019 04:50:32 +0000 (22:50 -0600)
committerAaron Marcher <[email protected]>
Mon, 30 Nov 2020 20:23:48 +0000 (21:23 +0100)
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

index 8462d0f..8e1f222 100644 (file)
@@ -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>