summaryrefslogtreecommitdiffstats
path: root/src/datagen.c
diff options
context:
space:
mode:
Diffstat (limited to 'src/datagen.c')
-rw-r--r--src/datagen.c9
1 files changed, 5 insertions, 4 deletions
diff --git a/src/datagen.c b/src/datagen.c
index 52f1896..3dc2a98 100644
--- a/src/datagen.c
+++ b/src/datagen.c
@@ -10,7 +10,7 @@
static struct entry_l buf;
-struct entry_l *gen_get_array(struct stream * const in)
+struct entry_l *gen_get_array(struct stream * const in, struct entry_l * const store)
{
struct entry_l *ret;
int errn;
@@ -18,7 +18,8 @@ struct entry_l *gen_get_array(struct stream * const in)
(void) in; /* lol says librin, lmao */
if (getrandom(&buf.val, sizeof(buf.val), 0ul) == sizeof(buf.val)) {
- ret = &buf;
+ *store = buf;
+ ret = store;
} else {
errn = errno;
ret = NULL;
@@ -28,11 +29,11 @@ struct entry_l *gen_get_array(struct stream * const in)
return ret;
}
-struct entry_l *gen_get_list(struct stream * const in)
+struct entry_l *gen_get_list(struct stream * const in, struct entry_l * const store)
{
struct entry_l *ret;
- try_s((ret = gen_get_array(in)), err);
+ try_s((ret = gen_get_array(in, store)), err);
ret->next = NULL;
err: