oops, committed to wrong branch accidentally:

Log message:
seed $RANDOM from /dev/urandom at startup, too.
This commit is contained in:
tg
2004-04-26 18:24:39 +00:00
parent 7834ecbe3c
commit 5860828e51

12
main.c
View File

@ -1,4 +1,4 @@
/* $MirBSD: main.c,v 1.2 2004/04/17 00:47:19 tg Exp $ */
/* $MirBSD: main.c,v 1.3 2004/04/26 18:24:39 tg Exp $ */
/* $OpenBSD: main.c,v 1.26 2004/01/08 05:43:14 jmc Exp $ */
/*
@ -94,6 +94,8 @@ main(int argc, char *argv[])
char **wp;
struct env env;
pid_t ppid;
long trnd;
FILE *tfil;
#ifdef MEM_DEBUG
chmem_set_defaults("ct", 1);
@ -256,7 +258,13 @@ main(int argc, char *argv[])
ppid = getppid();
setint(global("PPID"), (long) ppid);
#ifdef KSH
setint(global("RANDOM"), (long) (time((time_t *)0) * kshpid * ppid));
trnd = *((long *)kshname);
if ((tfil = fopen("/dev/urandom", "rb")) != NULL) {
fread(&trnd, 4, 1, tfil);
fclose(tfil);
}
trnd ^= (long) (time((time_t *)0) * kshpid * ppid);
setint(global("RANDOM"), trnd);
#endif /* KSH */
/* setstr can't fail here */
setstr(global(version_param), ksh_version, KSH_RETURN_ERROR);