diff options
author | ache <ache@FreeBSD.org> | 1997-10-15 22:49:19 +0000 |
---|---|---|
committer | ache <ache@FreeBSD.org> | 1997-10-15 22:49:19 +0000 |
commit | ad58c6f873180eb55a3f2d71b3b07954a5e69294 (patch) | |
tree | 0c2b337748c2ef94208411c297e6cfa19f0c1c62 /contrib/awk | |
parent | 9bb743990ae36f54c48a20758ce0fa2eff9bd954 (diff) | |
download | FreeBSD-src-ad58c6f873180eb55a3f2d71b3b07954a5e69294.zip FreeBSD-src-ad58c6f873180eb55a3f2d71b3b07954a5e69294.tar.gz |
srandom(time()) is too weak even for joke, use srandom(time() ^ getpid())
at least. Note that srandomdev can't be used here since gawk preserve old
seed value.
Diffstat (limited to 'contrib/awk')
-rw-r--r-- | contrib/awk/builtin.c | 4 |
1 files changed, 4 insertions, 0 deletions
diff --git a/contrib/awk/builtin.c b/contrib/awk/builtin.c index e620985..dc2c1d3 100644 --- a/contrib/awk/builtin.c +++ b/contrib/awk/builtin.c @@ -1263,7 +1263,11 @@ NODE *tree; (void) setstate(state); if (tree == NULL) +#ifdef __FreeBSD__ + srandom((unsigned int) (save_seed = (long) time((time_t *) 0) ^ getpid())); +#else srandom((unsigned int) (save_seed = (long) time((time_t *) 0))); +#endif else { tmp = tree_eval(tree->lnode); srandom((unsigned int) (save_seed = (long) force_number(tmp))); |