#include "../util.h"
#if defined(__linux__)
+ #include <stdint.h>
+
const char *
temp(const char *file)
{
- int temp;
+ uintmax_t temp;
- if(pscanf(file, "%d", &temp) != 1) {
+ if (pscanf(file, "%ju", &temp) != 1) {
return NULL;
}
- return bprintf("%d°C", temp / 1000);
+ return bprintf("%ju", 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