Mercurial > hg > early-roguelike
comparison rogue5/main.c @ 252:3d4252fa2ed3
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.
author | John "Elwin" Edwards |
---|---|
date | Sat, 28 Jan 2017 15:49:41 -0500 |
parents | ee250e3646fd |
children |
comparison
equal
deleted
inserted
replaced
251:e7862a021609 | 252:3d4252fa2ed3 |
---|---|
21 */ | 21 */ |
22 int | 22 int |
23 main(int argc, char **argv) | 23 main(int argc, char **argv) |
24 { | 24 { |
25 char *env; | 25 char *env; |
26 time_t lowtime; | |
27 | 26 |
28 md_init(); | 27 md_init(); |
29 | 28 |
30 #ifdef MASTER | 29 #ifdef MASTER |
31 /* | 30 /* |
75 | 74 |
76 if ((env = getenv("ROGUEOPTS")) != NULL) | 75 if ((env = getenv("ROGUEOPTS")) != NULL) |
77 parse_opts(env); | 76 parse_opts(env); |
78 if (!use_savedir && (env == NULL || whoami[0] == '\0')) | 77 if (!use_savedir && (env == NULL || whoami[0] == '\0')) |
79 strucpy(whoami, md_getusername(), strlen(md_getusername())); | 78 strucpy(whoami, md_getusername(), strlen(md_getusername())); |
80 lowtime = time(NULL); | |
81 if (getenv("SEED") != NULL) | 79 if (getenv("SEED") != NULL) |
82 { | 80 { |
83 dnum = atoi(getenv("SEED")); | 81 dnum = atoi(getenv("SEED")); |
84 noscore = 1; | 82 noscore = 1; |
85 } | 83 } |
86 else | 84 else |
87 dnum = (unsigned int) lowtime + md_getpid(); | 85 dnum = md_random_seed(); |
88 seed = dnum; | 86 seed = dnum; |
89 | 87 |
90 /* | 88 /* |
91 * check for print-score option | 89 * check for print-score option |
92 */ | 90 */ |