summaryrefslogtreecommitdiffstats
path: root/lib/libc/stdlib/random.c
diff options
context:
space:
mode:
authormillert <millert@openbsd.org>1998-02-07 02:16:25 +0000
committermillert <millert@openbsd.org>1998-02-07 02:16:25 +0000
commit4cf951c0b1ba67b5b84bbe55cf60fe8354893b14 (patch)
tree3f820991a908ba6d2f931e04c8914ae4016ace4b /lib/libc/stdlib/random.c
parentindent (diff)
downloadwireguard-openbsd-4cf951c0b1ba67b5b84bbe55cf60fe8354893b14.tar.xz
wireguard-openbsd-4cf951c0b1ba67b5b84bbe55cf60fe8354893b14.zip
More XPG4.2 --
setstate takes a const parameter don't ever spew to stderr, just return NULL
Diffstat (limited to 'lib/libc/stdlib/random.c')
-rw-r--r--lib/libc/stdlib/random.c14
1 files changed, 5 insertions, 9 deletions
diff --git a/lib/libc/stdlib/random.c b/lib/libc/stdlib/random.c
index 1ac61f2cec8..79344f30f16 100644
--- a/lib/libc/stdlib/random.c
+++ b/lib/libc/stdlib/random.c
@@ -32,7 +32,7 @@
*/
#if defined(LIBC_SCCS) && !defined(lint)
-static char *rcsid = "$OpenBSD: random.c,v 1.5 1998/02/06 01:49:08 deraadt Exp $";
+static char *rcsid = "$OpenBSD: random.c,v 1.6 1998/02/07 02:16:25 millert Exp $";
#endif /* LIBC_SCCS and not lint */
#include <stdio.h>
@@ -250,11 +250,8 @@ initstate(seed, arg_state, n)
state[-1] = rand_type;
else
state[-1] = MAX_TYPES * (rptr - state) + rand_type;
- if (n < BREAK_0) {
- (void)fprintf(stderr,
- "random: not enough state (%d bytes); ignored.\n", n);
- return(0);
- }
+ if (n < BREAK_0)
+ return(NULL);
if (n < BREAK_1) {
rand_type = TYPE_0;
rand_deg = DEG_0;
@@ -303,7 +300,7 @@ initstate(seed, arg_state, n)
*/
char *
setstate(arg_state)
- char *arg_state;
+ const char *arg_state;
{
register long *new_state = (long *)arg_state;
register int type = new_state[0] % MAX_TYPES;
@@ -325,8 +322,7 @@ setstate(arg_state)
rand_sep = seps[type];
break;
default:
- (void)fprintf(stderr,
- "random: state info corrupted; not changed.\n");
+ return(NULL);
}
state = &new_state[1];
if (rand_type != TYPE_0) {