From: miha-q <> Date: Mon, 12 Feb 2024 02:59:44 +0000 (-0500) Subject: Sun Feb 11 09:59:44 PM EST 2024 X-Git-Url: http://www.foleosoft.com/?a=commitdiff_plain;h=9e57b2994027a619beab84721a853d1037ab6517;p=QAnsel.git Sun Feb 11 09:59:44 PM EST 2024 --- diff --git a/src/QAnsel.c b/src/QAnsel.c index f757aa8..b8b70a1 100644 --- a/src/QAnsel.c +++ b/src/QAnsel.c @@ -8,6 +8,7 @@ #include "chacha20.c" #define QUBITS_MAX 11 uint8_t HIDDEN_VARIABLE = 0; +FILE* RANDOM_FILE; typedef struct { @@ -28,16 +29,13 @@ double qansel_rand_h() } double qansel_rand_t() { - FILE* f = fopen("/dev/TrueRNG0", "r"); - if (!f) f = fopen("/dev/random", "r"); - if (f) + if (RANDOM_FILE) { uint32_t num = 0; for (uint8_t i = 0; i < 4; i++) { - num = (num << 8) | fgetc(f); + num = (num << 8) | fgetc(RANDOM_FILE); } - fclose(f); return ((double)num) / ((double)UINT32_MAX); } else @@ -1319,5 +1317,8 @@ void process(int argc, char** argv) void main(int argc, char** argv) { + RANDOM_FILE = fopen("/dev/TrueRNG0", "r"); + if (!RANDOM_FILE) RANDOM_FILE = fopen("/dev/random", "r"); process(argc, argv); + fclose(RANDOM_FILE); } \ No newline at end of file