X-Git-Url: https://git.xinqibao.xyz/slstatus.git/blobdiff_plain/062f33f8742c645a3b436f609a19219106a8af75..e213b48122f1f8e8d837053324d9c891a67a38d2:/components/temperature.c diff --git a/components/temperature.c b/components/temperature.c index 32eb691..d56cc0e 100644 --- a/components/temperature.c +++ b/components/temperature.c @@ -4,18 +4,21 @@ #include "../util.h" #if defined(__linux__) + #include + const char * temp(const char *file) { - int temp; + uintmax_t temp; + + if (pscanf(file, "%ju", &temp) != 1) { + return NULL; + } - return (pscanf(file, "%d", &temp) == 1) ? - bprintf("%d°C", temp / 1000) : NULL; + return bprintf("%ju", temp / 1000); } #elif defined(__OpenBSD__) - #include #include - #include #include /* before for struct timeval */ #include #include @@ -41,6 +44,6 @@ } /* kelvin to celsius */ - return bprintf("%d°C", (temp.value - 273150000) / 1000000); + return bprintf("%d", (temp.value - 273150000) / 1E6); } #endif