summaryrefslogtreecommitdiff
path: root/arc4random.c
diff options
context:
space:
mode:
authorNick Mathewson <nickm@torproject.org>2010-02-13 00:11:44 -0500
committerNick Mathewson <nickm@torproject.org>2010-02-13 00:11:44 -0500
commit4ec8fea68e59f5e847f3f31af28f7c1f9c9cdccb (patch)
tree358df03b853bc8874209e2faabb63311e17163fd /arc4random.c
parentd4de062efcf3facf451c826deee9240fac478bfd (diff)
downloadlibevent-4ec8fea68e59f5e847f3f31af28f7c1f9c9cdccb.tar.gz
Make RNG work when we have arc4random() but not arc4random_buf()
Diffstat (limited to 'arc4random.c')
-rw-r--r--arc4random.c10
1 files changed, 7 insertions, 3 deletions
diff --git a/arc4random.c b/arc4random.c
index 2353626e..b14b723d 100644
--- a/arc4random.c
+++ b/arc4random.c
@@ -43,6 +43,10 @@
#define ARC4RANDOM_EXPORT
#endif
+#ifndef ARC4RANDOM_UINT32
+#define ARC4RANDOM_UINT32 uint32_t
+#endif
+
#ifndef ARC4RANDOM_NO_INCLUDES
#ifdef WIN32
#include <wincrypt.h>
@@ -283,10 +287,10 @@ arc4random_addrandom(const unsigned char *dat, int datlen)
#endif
#ifndef ARC4RANDOM_NORANDOM
-ARC4RANDOM_EXPORT unsigned int
+ARC4RANDOM_EXPORT ARC4RANDOM_UINT32
arc4random(void)
{
- unsigned int val;
+ ARC4RANDOM_UINT32 val;
_ARC4_LOCK();
arc4_count -= 4;
arc4_stir_if_needed();
@@ -324,7 +328,7 @@ arc4random_buf(void *_buf, size_t n)
ARC4RANDOM_EXPORT unsigned int
arc4random_uniform(unsigned int upper_bound)
{
- unsigned int r, min;
+ ARC4RANDOM_UINT32 r, min;
if (upper_bound < 2)
return 0;