summaryrefslogtreecommitdiff
path: root/src/lib/libc/stdlib/seed48.c
diff options
context:
space:
mode:
Diffstat (limited to 'src/lib/libc/stdlib/seed48.c')
-rw-r--r--src/lib/libc/stdlib/seed48.c13
1 files changed, 12 insertions, 1 deletions
diff --git a/src/lib/libc/stdlib/seed48.c b/src/lib/libc/stdlib/seed48.c
index 583262f2d5..7acb4e6d1d 100644
--- a/src/lib/libc/stdlib/seed48.c
+++ b/src/lib/libc/stdlib/seed48.c
@@ -1,4 +1,4 @@
1/* $OpenBSD: seed48.c,v 1.3 2005/08/08 08:05:37 espie Exp $ */ 1/* $OpenBSD: seed48.c,v 1.4 2014/12/08 21:45:20 deraadt Exp $ */
2/* 2/*
3 * Copyright (c) 1993 Martin Birgmeier 3 * Copyright (c) 1993 Martin Birgmeier
4 * All rights reserved. 4 * All rights reserved.
@@ -21,8 +21,19 @@ extern unsigned short __rand48_add;
21unsigned short * 21unsigned short *
22seed48(unsigned short xseed[3]) 22seed48(unsigned short xseed[3])
23{ 23{
24 unsigned short *res;
25
26 res = seed48_deterministic(xseed);
27 __rand48_deterministic = 0;
28 return res;
29}
30
31unsigned short *
32seed48_deterministic(unsigned short xseed[3])
33{
24 static unsigned short sseed[3]; 34 static unsigned short sseed[3];
25 35
36 __rand48_deterministic = 1;
26 sseed[0] = __rand48_seed[0]; 37 sseed[0] = __rand48_seed[0];
27 sseed[1] = __rand48_seed[1]; 38 sseed[1] = __rand48_seed[1];
28 sseed[2] = __rand48_seed[2]; 39 sseed[2] = __rand48_seed[2];