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
@@ -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>