From f651941402079052fbdabf64092e7dd4a6a8cafe Mon Sep 17 00:00:00 2001 From: Martin Mares Date: Tue, 17 Aug 1999 20:47:40 +0000 Subject: [PATCH] Added a function for generating 32-bit random numbers. --- lib/birdlib.h | 4 ++++ sysdep/unix/io.c | 15 +++++++++++++++ 2 files changed, 19 insertions(+) diff --git a/lib/birdlib.h b/lib/birdlib.h index b57478df..93ac38ef 100644 --- a/lib/birdlib.h +++ b/lib/birdlib.h @@ -63,4 +63,8 @@ void debug(char *msg, ...); /* Printf to debug output */ #define ASSERT(x) do { } while(0) #endif +/* Pseudorandom numbers */ + +u32 random_u32(void); + #endif diff --git a/sysdep/unix/io.c b/sysdep/unix/io.c index 51046645..fef1bd76 100644 --- a/sysdep/unix/io.c +++ b/sysdep/unix/io.c @@ -34,6 +34,20 @@ #include "lib/unix.h" +/* + * Random Numbers + */ + +u32 +random_u32(void) +{ + long int rand_low, rand_high; + + rand_low = random(); + rand_high = random(); + return (rand_low & 0xffff) | ((rand_high & 0xffff) << 16); +} + /* * Timers */ @@ -823,6 +837,7 @@ io_init(void) init_list(&global_event_list); krt_io_init(); now = time(NULL); + srandom((int) now); } void