diff options
Diffstat (limited to 'src/lib/libc/stdlib/random.c')
| -rw-r--r-- | src/lib/libc/stdlib/random.c | 14 |
1 files changed, 5 insertions, 9 deletions
diff --git a/src/lib/libc/stdlib/random.c b/src/lib/libc/stdlib/random.c index 1ac61f2cec..79344f30f1 100644 --- a/src/lib/libc/stdlib/random.c +++ b/src/lib/libc/stdlib/random.c | |||
| @@ -32,7 +32,7 @@ | |||
| 32 | */ | 32 | */ |
| 33 | 33 | ||
| 34 | #if defined(LIBC_SCCS) && !defined(lint) | 34 | #if defined(LIBC_SCCS) && !defined(lint) |
| 35 | static char *rcsid = "$OpenBSD: random.c,v 1.5 1998/02/06 01:49:08 deraadt Exp $"; | 35 | static char *rcsid = "$OpenBSD: random.c,v 1.6 1998/02/07 02:16:25 millert Exp $"; |
| 36 | #endif /* LIBC_SCCS and not lint */ | 36 | #endif /* LIBC_SCCS and not lint */ |
| 37 | 37 | ||
| 38 | #include <stdio.h> | 38 | #include <stdio.h> |
| @@ -250,11 +250,8 @@ initstate(seed, arg_state, n) | |||
| 250 | state[-1] = rand_type; | 250 | state[-1] = rand_type; |
| 251 | else | 251 | else |
| 252 | state[-1] = MAX_TYPES * (rptr - state) + rand_type; | 252 | state[-1] = MAX_TYPES * (rptr - state) + rand_type; |
| 253 | if (n < BREAK_0) { | 253 | if (n < BREAK_0) |
| 254 | (void)fprintf(stderr, | 254 | return(NULL); |
| 255 | "random: not enough state (%d bytes); ignored.\n", n); | ||
| 256 | return(0); | ||
| 257 | } | ||
| 258 | if (n < BREAK_1) { | 255 | if (n < BREAK_1) { |
| 259 | rand_type = TYPE_0; | 256 | rand_type = TYPE_0; |
| 260 | rand_deg = DEG_0; | 257 | rand_deg = DEG_0; |
| @@ -303,7 +300,7 @@ initstate(seed, arg_state, n) | |||
| 303 | */ | 300 | */ |
| 304 | char * | 301 | char * |
| 305 | setstate(arg_state) | 302 | setstate(arg_state) |
| 306 | char *arg_state; | 303 | const char *arg_state; |
| 307 | { | 304 | { |
| 308 | register long *new_state = (long *)arg_state; | 305 | register long *new_state = (long *)arg_state; |
| 309 | register int type = new_state[0] % MAX_TYPES; | 306 | register int type = new_state[0] % MAX_TYPES; |
| @@ -325,8 +322,7 @@ setstate(arg_state) | |||
| 325 | rand_sep = seps[type]; | 322 | rand_sep = seps[type]; |
| 326 | break; | 323 | break; |
| 327 | default: | 324 | default: |
| 328 | (void)fprintf(stderr, | 325 | return(NULL); |
| 329 | "random: state info corrupted; not changed.\n"); | ||
| 330 | } | 326 | } |
| 331 | state = &new_state[1]; | 327 | state = &new_state[1]; |
| 332 | if (rand_type != TYPE_0) { | 328 | if (rand_type != TYPE_0) { |
