lrand48.c.patch   [plain text]


--- lrand48.c.orig	2009-11-07 14:51:38.000000000 -0800
+++ lrand48.c	2009-11-07 14:51:39.000000000 -0800
@@ -16,11 +16,9 @@ __FBSDID("$FreeBSD: src/lib/libc/gen/lra
 
 #include "rand48.h"
 
-extern unsigned short _rand48_seed[3];
-
 long
 lrand48(void)
 {
-	_dorand48(_rand48_seed);
-	return ((long) _rand48_seed[2] << 15) + ((long) _rand48_seed[1] >> 1);
+	_DORAND48(_rand48_seed);
+	return (_rand48_seed >> 17) & 0x7fffffff;
 }