summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authortb <>2015-12-18 08:52:34 +0000
committertb <>2015-12-18 08:52:34 +0000
commitc2d700ad49f07bb0aee95cd422d0d0234ea3d05b (patch)
tree5f0658b997ec76e0c949f0a7fc7df4486ae7df6c
parentfae1f53d80eae209dbf7e27338e64579b33add89 (diff)
downloadopenbsd-c2d700ad49f07bb0aee95cd422d0d0234ea3d05b.tar.gz
openbsd-c2d700ad49f07bb0aee95cd422d0d0234ea3d05b.tar.bz2
openbsd-c2d700ad49f07bb0aee95cd422d0d0234ea3d05b.zip
Simplify return call of rand() and rand_r() to make it easier to read.
This is slightly less robust, but RAND_MAX must be one below a power of two in both variants anyway. Based on a suggestion by Matthew Martin. ok tedu@
-rw-r--r--src/lib/libc/stdlib/rand.c4
1 files changed, 2 insertions, 2 deletions
diff --git a/src/lib/libc/stdlib/rand.c b/src/lib/libc/stdlib/rand.c
index 7054b81c64..56e672af01 100644
--- a/src/lib/libc/stdlib/rand.c
+++ b/src/lib/libc/stdlib/rand.c
@@ -37,7 +37,7 @@ int
37rand_r(u_int *seed) 37rand_r(u_int *seed)
38{ 38{
39 *seed = *seed * 1103515245 + 12345; 39 *seed = *seed * 1103515245 + 12345;
40 return (*seed % ((u_int)RAND_MAX + 1)); 40 return (*seed & RAND_MAX);
41} 41}
42DEF_WEAK(rand_r); 42DEF_WEAK(rand_r);
43 43
@@ -50,7 +50,7 @@ int
50rand(void) 50rand(void)
51{ 51{
52 if (rand_deterministic == 0) 52 if (rand_deterministic == 0)
53 return (arc4random() % ((u_int)RAND_MAX + 1)); 53 return (arc4random() & RAND_MAX);
54 return (rand_r(&next)); 54 return (rand_r(&next));
55} 55}
56 56