Use more portable random seed generation.
The new function md_random_seed() has replaced time() + getpid() and similar methods. Putting everything in mdport.c slightly reduces the warnings and workarounds.
This commit is contained in:
parent
c194ec3dc9
commit
62047972cc
29 changed files with 123 additions and 81 deletions
|
|
@ -49,8 +49,6 @@ int
|
|||
main(int argc, char *argv[], char *envp[])
|
||||
{
|
||||
register char *env;
|
||||
int lowtime;
|
||||
time_t now;
|
||||
char *roguedir;
|
||||
|
||||
roguedir = md_getroguedir();
|
||||
|
|
@ -100,7 +98,7 @@ main(int argc, char *argv[], char *envp[])
|
|||
strucpy(whoami, md_getusername(), strlen(md_getusername()));
|
||||
|
||||
if (env == NULL || fruit[0] == '\0') {
|
||||
md_srand((long)(getpid()+time(0)));
|
||||
md_srand(md_random_seed());
|
||||
strcpy(fruit, funfruit[rnd(NFRUIT)]);
|
||||
}
|
||||
|
||||
|
|
@ -177,10 +175,9 @@ main(int argc, char *argv[], char *envp[])
|
|||
else if (argc == 2)
|
||||
if (!restore(argv[1], envp)) /* Note: restore will never return */
|
||||
exit(1);
|
||||
lowtime = (int) time(&now);
|
||||
dnum = (wizard && getenv("SEED") != NULL ?
|
||||
atoi(getenv("SEED")) :
|
||||
lowtime + getpid());
|
||||
md_random_seed());
|
||||
if (wizard)
|
||||
printf("Hello %s, welcome to dungeon #%d\n", whoami, dnum);
|
||||
else
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue