diff options
author | Mitchell Livingston <livings124@users.sourceforge.net> | 2011-08-08 17:06:46 -0400 |
---|---|---|
committer | Nick Mathewson <nickm@torproject.org> | 2011-08-08 22:03:34 -0400 |
commit | b4423029b940eb5c71ac8aca7fdaeddce1a25316 (patch) | |
tree | a6db650183132309dba691a2d74ebc9ee4f87bfa /evutil_rand.c | |
parent | 4a343943bd5c93ea1a4c0b80633bc417aeb63969 (diff) | |
download | libevent-b4423029b940eb5c71ac8aca7fdaeddce1a25316.tar.gz |
Allow OS-neutral builds for platforms where some versions have arc4random_buf
Diffstat (limited to 'evutil_rand.c')
-rw-r--r-- | evutil_rand.c | 16 |
1 files changed, 12 insertions, 4 deletions
diff --git a/evutil_rand.c b/evutil_rand.c index 27b505d6..d2bbd46d 100644 --- a/evutil_rand.c +++ b/evutil_rand.c @@ -55,10 +55,12 @@ evutil_secure_rng_global_setup_locks_(const int enable_locks) return 0; } -#ifndef _EVENT_HAVE_ARC4RANDOM_BUF static void -arc4random_buf(void *buf, size_t n) +ev_arc4random_buf(void *buf, size_t n) { +#ifdef _EVENT_HAVE_ARC4RANDOM_BUF + return arc4random_buf(buf, n); +#else unsigned char *b = buf; /* Make sure that we start out with b at a 4-byte alignment; plenty * of CPUs care about this for 32-bit access. */ @@ -78,8 +80,8 @@ arc4random_buf(void *buf, size_t n) ev_uint32_t u = arc4random(); memcpy(b, &u, n); } -} #endif +} #else /* !_EVENT_HAVE_ARC4RANDOM { */ @@ -122,12 +124,18 @@ evutil_secure_rng_init(void) return val; } +static void +ev_arc4random_buf(void *buf, size_t n) +{ + arc4random_buf(buf, n); +} + #endif /* } !_EVENT_HAVE_ARC4RANDOM */ void evutil_secure_rng_get_bytes(void *buf, size_t n) { - arc4random_buf(buf, n); + ev_arc4random_buf(buf, n); } void |