summaryrefslogtreecommitdiffstats
path: root/qemu/roms/SLOF/lib/libc/stdlib
diff options
context:
space:
mode:
Diffstat (limited to 'qemu/roms/SLOF/lib/libc/stdlib')
-rw-r--r--qemu/roms/SLOF/lib/libc/stdlib/rand.c9
1 files changed, 7 insertions, 2 deletions
diff --git a/qemu/roms/SLOF/lib/libc/stdlib/rand.c b/qemu/roms/SLOF/lib/libc/stdlib/rand.c
index 87e3efd29..39f5a9a2c 100644
--- a/qemu/roms/SLOF/lib/libc/stdlib/rand.c
+++ b/qemu/roms/SLOF/lib/libc/stdlib/rand.c
@@ -18,7 +18,12 @@ static unsigned long _rand = 1;
int
rand(void)
{
- _rand = _rand * 25364735 + 34563;
+ _rand = _rand * 1237732973 + 34563;
- return ((unsigned int) (_rand << 16) & RAND_MAX);
+ return ((unsigned int) (_rand >> 16) & RAND_MAX);
+}
+
+void srand(unsigned int seed)
+{
+ _rand = seed;
}