diff options
-rw-r--r-- | ChangeLog | 6 | ||||
-rw-r--r-- | stdlib/rand_r.c | 4 |
2 files changed, 8 insertions, 2 deletions
@@ -1,3 +1,9 @@ +1999-10-27 Andreas Jaeger <aj@suse.de> + + * stdlib/rand_r.c (rand_r): Really use 31 bits, the result was + shifted a bit too much. + Reported by Eugen Dedu <dedu@ese-metz.fr>. + 1999-10-25 Ulrich Drepper <drepper@cygnus.com> * resolv/gethnamaddr.c: Account bytes needed for alignment in diff --git a/stdlib/rand_r.c b/stdlib/rand_r.c index 3e0b8b2..00c619a 100644 --- a/stdlib/rand_r.c +++ b/stdlib/rand_r.c @@ -1,5 +1,5 @@ /* Reentrant random function frm POSIX.1c. - Copyright (C) 1996 Free Software Foundation, Inc. + Copyright (C) 1996, 1999 Free Software Foundation, Inc. This file is part of the GNU C Library. Contributed by Ulrich Drepper <drepper@cygnus.com>, 1996. @@ -35,7 +35,7 @@ rand_r (unsigned int *seed) next *= 1103515245; next += 12345; - result <<= 11; + result <<= 10; result ^= (unsigned int) (next / 65536) % 1024; next *= 1103515245; |