EGong

An UDP Multicast messaging application
git clone git://xatko.vsos.ethz.ch/EGong.git
Log | Files | Refs

commit 89f564c974aea859c440f637b8f9ec4f13167b1b
parent afb8588cf7ed1b14f8ef500287086e3669b16ac7
Author: Dominik Schmidt <das1993@hotmail.com>
Date:   Sun, 22 Jun 2014 15:01:22 +0200

Randomness now generated with rand()

Diffstat:
include/Util/Misc.h | 4++--
src/Util/Misc.c | 17++++++++++++++---
2 files changed, 16 insertions(+), 5 deletions(-)

diff --git a/include/Util/Misc.h b/include/Util/Misc.h @@ -2,10 +2,10 @@ #include <stddef.h> #include <unistd.h> #define CSIZEOF(VAR) (sizeof(VAR))/(sizeof(*(VAR))) - +extern void EGong_misc_rand_init(void); extern int EGong_global_argc; extern char **EGong_global_argv; -extern int EGong_misc_get_rand(char *dest, size_t length); +extern int EGong_misc_get_rand(char *dest, int length); #define STDNWRITE(str,len) (void)write(STDOUT_FILENO, str, len) #define STDWRITE(str) STDNWRITE(str,sizeof(str)) diff --git a/src/Util/Misc.c b/src/Util/Misc.c @@ -1,9 +1,20 @@ #include <EGong/Util/Misc.h> #include <EGong/Util/Log.h> -#include <openssl/rand.h> +#include <stdlib.h> +#include <time.h> -int EGong_misc_get_rand(char *dest, size_t length){ - RAND_pseudo_bytes((unsigned char *)dest, length); +void EGong_misc_rand_init(void){ + srand(time(NULL)); +} +int EGong_misc_get_rand(char *dest, int length){ + const static size_t blocksize=sizeof(int)/sizeof(*dest); + for(;length>0;length-=blocksize){ + if(length<blocksize){ + dest-=blocksize-length; + } + *(int*)dest=rand(); + dest+=blocksize; + } return 0; }