From 1af549602ea03f66e0d3e4384aea3e9717526977 Mon Sep 17 00:00:00 2001 From: Markus Uhlin Date: Mon, 23 Mar 2026 21:21:03 +0100 Subject: Seeded the PRNG better --- FICS/ficsmain.c | 14 +++++++++++++- 1 file changed, 13 insertions(+), 1 deletion(-) (limited to 'FICS/ficsmain.c') 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 #include #include +#include #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)); -- cgit v1.2.3