summaryrefslogtreecommitdiffstats
path: root/src/datagen.c
diff options
context:
space:
mode:
authorGravatar Gediminas Jakutis <gediminas@varciai.lt> 2021-03-10 15:04:13 +0200
committerGravatar Gediminas Jakutis <gediminas@varciai.lt> 2021-03-10 15:33:58 +0200
commit8788b9b33ec46e3f96170fb35a70a03addbf9671 (patch)
tree44b620061ca427f436e89c7beb80022febde1e58 /src/datagen.c
parentd7e2af2582660e3ed4ce824c33a21ffbf9ed4c6f (diff)
downloadalgos-ld1-8788b9b33ec46e3f96170fb35a70a03addbf9671.tar.gz
algos-ld1-8788b9b33ec46e3f96170fb35a70a03addbf9671.tar.bz2
algos-ld1-8788b9b33ec46e3f96170fb35a70a03addbf9671.zip
refactor && improve.
Make code more reusable and generic while preparing to add uncached ops. Signed-off-by: Gediminas Jakutis <gediminas@varciai.lt>
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: