From 8e66d7bd309bdb2bd5b9c60273f3a8d27b2aeccb Mon Sep 17 00:00:00 2001 From: Oskari Timperi Date: Fri, 18 Sep 2015 08:20:30 +0300 Subject: main.c: simplify get_random_id() --- main.c | 25 ++++++++----------------- 1 file changed, 8 insertions(+), 17 deletions(-) diff --git a/main.c b/main.c index e0f7a99..387c695 100644 --- a/main.c +++ b/main.c @@ -13,29 +13,20 @@ */ int get_random_id(struct randgen *randgen, char *id, size_t size) { - size_t n = 0; - unsigned char buf[512]; - size_t i; - assert(randgen != NULL); assert(id != NULL); assert(size > 0); - while (n < size-1) - { - if (randgen_generate(randgen, buf, sizeof(buf)) == -1) - return -1; + if (randgen_generate(randgen, id, size-1) == -1) + return -1; - for (i = 0; i < sizeof(buf) && n < size-1; ++i) - { - if (buf[i] >= '1' && buf[i] <= '6') - { - id[n++] = buf[i]; - } - } - } + id[--size] = '\0'; - id[size-1] = '\0'; + while (size > 0) + { + unsigned char q = ((unsigned char *) id)[size-1]; + id[--size] = '1' + (q % 6); + } return 0; } -- cgit v1.2.3