summaryrefslogtreecommitdiffstats
path: root/src/datagen.c
diff options
context:
space:
mode:
Diffstat (limited to 'src/datagen.c')
-rw-r--r--src/datagen.c11
1 files changed, 5 insertions, 6 deletions
diff --git a/src/datagen.c b/src/datagen.c
index 7eab23f..98a64fe 100644
--- a/src/datagen.c
+++ b/src/datagen.c
@@ -2,12 +2,9 @@
/* Copyright (C) 2020 Gediminas Jakutis */
-#include <unistd.h>
-#include <stddef.h>
#include <errno.h>
-#include <stdlib.h>
#include <string.h>
-#include <sys/types.h>
+#include <sys/random.h>
#include "datagen.h"
#include "defs.h"
@@ -18,12 +15,14 @@ struct entry_l *gen_get_array(struct stream * const in)
struct entry_l *ret;
int errn;
- if (read(in->fd, &buf.val, sizeof(buf.val)) == sizeof(buf.val)) {
+ (void) in; /* lol says librin, lmao */
+
+ if (getrandom(&buf.val, sizeof(buf.val), 0ul) == sizeof(buf.val)) {
ret = &buf;
} else {
errn = errno;
ret = NULL;
- rin_err("error reading /dev/urandom: %s", strerror(errn));
+ rin_err("error reading urandom: %s", strerror(errn));
}
return ret;