summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorgrog <grog@FreeBSD.org>2005-07-23 01:46:50 +0000
committergrog <grog@FreeBSD.org>2005-07-23 01:46:50 +0000
commit6d42881fd88e32a58d93a3a6279e0c6dc970a631 (patch)
treecc355de20264bd1b846d5685d154f8cd7b7fb475
parent35eb3b831279bd7f83f6cd0d573034b7fb572535 (diff)
downloadFreeBSD-src-6d42881fd88e32a58d93a3a6279e0c6dc970a631.zip
FreeBSD-src-6d42881fd88e32a58d93a3a6279e0c6dc970a631.tar.gz
Use a random number to seed the random number generator. Goodby, Rush
Limbaugh. This should have already worked properly if random(4) has been initialized correctly, but it seems that this is frequently not the case. Instead, use the microsecond part of the current time as the seed.
-rw-r--r--games/fortune/fortune/fortune.c4
1 files changed, 3 insertions, 1 deletions
diff --git a/games/fortune/fortune/fortune.c b/games/fortune/fortune/fortune.c
index a7a8f45..60e6cbc 100644
--- a/games/fortune/fortune/fortune.c
+++ b/games/fortune/fortune/fortune.c
@@ -174,6 +174,7 @@ char *av[];
#ifdef OK_TO_WRITE_DISK
int fd;
#endif /* OK_TO_WRITE_DISK */
+ struct timeval now;
(void) setlocale(LC_ALL, "");
@@ -183,7 +184,8 @@ char *av[];
exit(find_matches() != 0);
init_prob();
- srandomdev();
+ gettimeofday(&now, NULL);
+ srandom(now.tv_usec);
do {
get_fort();
} while ((Short_only && fortlen() > SLEN) ||
OpenPOWER on IntegriCloud