diff options
Diffstat (limited to 'src/datagen.c')
-rw-r--r-- | src/datagen.c | 11 |
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; |