diff options
author | 2021-03-10 15:04:13 +0200 | |
---|---|---|
committer | 2021-03-10 15:33:58 +0200 | |
commit | 8788b9b33ec46e3f96170fb35a70a03addbf9671 (patch) | |
tree | 44b620061ca427f436e89c7beb80022febde1e58 /src/datagen.c | |
parent | d7e2af2582660e3ed4ce824c33a21ffbf9ed4c6f (diff) | |
download | algos-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.c | 9 |
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: |