X-Git-Url: https://git.xinqibao.xyz/slstatus.git/blobdiff_plain/ebf5a35052add4298e43e0f261927b7ab2a2e7b9..fa7c266e2b7adbc2a87bd44057b9e561d9ed61e3:/components/entropy.c

diff --git a/components/entropy.c b/components/entropy.c
index f1441b3..7f6112e 100644
--- a/components/entropy.c
+++ b/components/entropy.c
@@ -1,15 +1,27 @@
 /* See LICENSE file for copyright and license details. */
-#ifdef __linux__
-#include <stdio.h>
+#if defined(__linux__)
+	#include <inttypes.h>
+	#include <stdio.h>
 
-#include "../util.h"
+	#include "../util.h"
 
-const char *
-entropy(void)
-{
-	int num;
+	const char *
+	entropy(void)
+	{
+		uint64_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",
+		           "%" PRIu64, &num) != 1) {
+			return NULL;
+		}
+
+		return bprintf("%" PRIu64, num);
+	}
+#elif defined(__OpenBSD__)
+	const char *
+	entropy(void)
+	{
+		/* Unicode Character 'INFINITY' (U+221E) */
+		return "\xe2\x88\x9e";
+	}
 #endif