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
|
|
@ -166,7 +166,7 @@ main(int argc, char *argv[], char *envp[])
|
|||
seed = atoi(getenv("SEED"));
|
||||
}
|
||||
else {
|
||||
seed = (int) time(&now) + getpid();
|
||||
seed = md_random_seed();
|
||||
}
|
||||
if (wizard)
|
||||
printf("Hello %s, welcome to dungeon #%d\n", whoami, seed);
|
||||
|
|
|
|||
|
|
@ -1505,6 +1505,7 @@ int md_getuid(void);
|
|||
long md_memused(void);
|
||||
int md_normaluser(void);
|
||||
int md_rand(int range);
|
||||
unsigned int md_random_seed(void);
|
||||
void md_setup(void);
|
||||
int md_shellescape(void);
|
||||
int md_srand(int seed);
|
||||
|
|
|
|||
|
|
@ -3619,3 +3619,16 @@ md_unlink(char *file)
|
|||
return(unlink(file));
|
||||
#endif
|
||||
}
|
||||
|
||||
unsigned int
|
||||
md_random_seed(void)
|
||||
{
|
||||
unsigned int seed;
|
||||
seed = (unsigned int) time((time_t *) NULL);
|
||||
#ifdef _WIN32
|
||||
seed += _getpid();
|
||||
#else
|
||||
seed += getpid();
|
||||
#endif
|
||||
return seed;
|
||||
}
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue