Xinqi Bao's Git

Fix CPU frequency on OpenBSD
[slstatus.git] / components / entropy.c
index ac61679..2a485de 100644 (file)
@@ -1,5 +1,6 @@
 /* See LICENSE file for copyright and license details. */
 #if defined(__linux__)
+       #include <stdint.h>
        #include <stdio.h>
 
        #include "../util.h"
@@ -7,13 +8,16 @@
        const char *
        entropy(void)
        {
-               int num;
+               uintmax_t num;
 
-               return (pscanf("/proc/sys/kernel/random/entropy_avail",
-                              "%d", &num) == 1) ?
-                      bprintf("%d", num) : NULL;
+               if (pscanf("/proc/sys/kernel/random/entropy_avail", "%ju", &num)
+                   != 1) {
+                       return NULL;
+               }
+
+               return bprintf("%ju", num);
        }
-#elif defined(__OpenBSD__)
+#elif defined(__OpenBSD__) | defined(__FreeBSD__)
        const char *
        entropy(void)
        {