diff options
author | 2020-02-25 09:57:14 +0200 | |
---|---|---|
committer | 2020-02-25 09:57:14 +0200 | |
commit | ad1bc59382e3cda63ce507cd7f56fc2a201c11e9 (patch) | |
tree | f57c6c7c672eb2e62bc9ba61a9f32265b4abf8a8 /src/datagen.c | |
parent | 1bcfe887515845678f8f648c6dfecffd01813b0f (diff) | |
download | algos-ld1-ad1bc59382e3cda63ce507cd7f56fc2a201c11e9.tar.gz algos-ld1-ad1bc59382e3cda63ce507cd7f56fc2a201c11e9.tar.bz2 algos-ld1-ad1bc59382e3cda63ce507cd7f56fc2a201c11e9.zip |
implement reading from dev-you-random for datagen.
Signed-off-by: Gediminas Jakutis <gediminas@varciai.lt>
Diffstat (limited to 'src/datagen.c')
-rw-r--r-- | src/datagen.c | 25 |
1 files changed, 25 insertions, 0 deletions
diff --git a/src/datagen.c b/src/datagen.c new file mode 100644 index 0000000..9efe3b3 --- /dev/null +++ b/src/datagen.c @@ -0,0 +1,25 @@ +#include <unistd.h> +#include <stddef.h> +#include <errno.h> +#include "datagen.h" +#include "defs.h" + +int gen_get(struct stream *in, size_t idx, struct entry_l *data, int tag) +{ + int ret = 0; + (void) idx; + + if (tag) { + data->prev = 0; + data->next = 0; + } + + in->prev_idx = -1; + ret = read(in->fd, &data->val, sizeof(data->val)); + + if (ret != sizeof(data->val)) { + ret = ret > 0 ? EAGAIN : errno; + } + + return ret; +} |