aboutsummaryrefslogtreecommitdiff
path: root/lib/libc/gen/nrand48.c
diff options
context:
space:
mode:
Diffstat (limited to 'lib/libc/gen/nrand48.c')
-rw-r--r--lib/libc/gen/nrand48.c6
1 files changed, 4 insertions, 2 deletions
diff --git a/lib/libc/gen/nrand48.c b/lib/libc/gen/nrand48.c
index 6c54065e7e0f..f6f4e231105c 100644
--- a/lib/libc/gen/nrand48.c
+++ b/lib/libc/gen/nrand48.c
@@ -16,6 +16,8 @@
long
nrand48(unsigned short xseed[3])
{
- _dorand48(xseed);
- return ((long) xseed[2] << 15) + ((long) xseed[1] >> 1);
+ uint48 tmp;
+
+ DORAND48(tmp, xseed);
+ return ((tmp >> 17) & 0x7fffffff);
}