/* 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