diff options
| author | Markus Uhlin <markus@nifty-networks.net> | 2026-03-23 21:21:03 +0100 |
|---|---|---|
| committer | Markus Uhlin <markus@nifty-networks.net> | 2026-03-23 21:21:03 +0100 |
| commit | 1af549602ea03f66e0d3e4384aea3e9717526977 (patch) | |
| tree | bedc8c1c0bc91030bf1efe4185eb3f5ce7e1ba05 /FICS/ficsmain.c | |
| parent | 063ea8ba39b566b5f4425e333b2977f976a6b035 (diff) | |
Seeded the PRNG better
Diffstat (limited to 'FICS/ficsmain.c')
| -rw-r--r-- | FICS/ficsmain.c | 14 |
1 files changed, 13 insertions, 1 deletions
diff --git a/FICS/ficsmain.c b/FICS/ficsmain.c index 1c0aa6b..c71b7a0 100644 --- a/FICS/ficsmain.c +++ b/FICS/ficsmain.c @@ -43,6 +43,7 @@ #include <errno.h> #include <stdint.h> #include <string.h> +#include <time.h> #include "addgroup.h" #include "board.h" @@ -263,6 +264,17 @@ main_event_loop(void) } } +PRIVATE void +seed_the_prng(void) +{ + struct timespec ts = {0}; + + if (clock_gettime(CLOCK_REALTIME, &ts) == -1) + err(1, "%s: fatal: clock_gettime", __func__); + + srand(ts.tv_nsec ^ ts.tv_sec); +} + PRIVATE __dead void usage(char *progname) { @@ -335,7 +347,7 @@ main(int argc, char *argv[]) game_high = 0; player_high = 0; quota_time = 60; - srand(startuptime); + seed_the_prng(); (void) fprintf(stderr, "FICS: Initialized on port %d at %s.\n", port, strltime(&startuptime)); |
