X-Git-Url: https://git.xinqibao.xyz/slstatus.git/blobdiff_plain/42edfea89a47cbf0623d1aaf5673a4e5ca79fb52..86849d295b1eb9e18746d8a4fa196fe7b9dce0dc:/components/entropy.c

diff --git a/components/entropy.c b/components/entropy.c
index 65c65a1..2a485de 100644
--- a/components/entropy.c
+++ b/components/entropy.c
@@ -1,15 +1,27 @@
 /* See LICENSE file for copyright and license details. */
 #if defined(__linux__)
-#include <stdio.h>
+	#include <stdint.h>
+	#include <stdio.h>
 
-#include "../util.h"
+	#include "../util.h"
 
-const char *
-entropy(void)
-{
-	int num;
+	const char *
+	entropy(void)
+	{
+		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__) | defined(__FreeBSD__)
+	const char *
+	entropy(void)
+	{
+		/* Unicode Character 'INFINITY' (U+221E) */
+		return "\xe2\x88\x9e";
+	}
 #endif