Xinqi Bao's Git

Add FreeBSD support for netspeeds, entropy and ip components
[slstatus.git] / components / entropy.c
index 1450b31..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,16 +8,20 @@
        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)
        {
-               return "∞";
+               /* Unicode Character 'INFINITY' (U+221E) */
+               return "\xe2\x88\x9e";
        }
 #endif