#include "../util.h"
#if defined(__linux__)
+ #include <inttypes.h>
+
const char *
temp(const char *file)
{
- int temp;
+ uint64_t temp;
+
+ if(pscanf(file, "%" PRIu64, &temp) != 1) {
+ return NULL;
+ }
- return (pscanf(file, "%d", &temp) == 1) ?
- bprintf("%d°C", temp / 1000) : NULL;
+ return bprintf("%" PRIu64, temp / 1000);
}
#elif defined(__OpenBSD__)
- #include <errno.h>
#include <stdio.h>
- #include <string.h>
#include <sys/time.h> /* before <sys/sensors.h> for struct timeval */
#include <sys/sensors.h>
#include <sys/sysctl.h>
}
/* kelvin to celsius */
- return bprintf("%d°C", (temp.value - 273150000) / 1000000);
+ return bprintf("%d", (temp.value - 273150000) / 1E6);
}
#endif