Author: manx
Date: Sat May 11 09:36:53 2024
New Revision: 20757
URL: https://source.openmpt.org/browse/openmpt/?op=revision&rev=20757
Log:
[Ref] mpt/random/device.hpp: Remove redundant state.
Modified:
trunk/OpenMPT/src/mpt/random/device.hpp
Modified: trunk/OpenMPT/src/mpt/random/device.hpp
==============================================================================
--- trunk/OpenMPT/src/mpt/random/device.hpp Fri May 10 22:43:12 2024 (r20756)
+++ trunk/OpenMPT/src/mpt/random/device.hpp Sat May 11 09:36:53 2024 (r20757)
@@ -128,7 +128,6 @@
std::string token;
#if !defined(MPT_COMPILER_QUIRK_RANDOM_NO_RANDOM_DEVICE)
std::unique_ptr<std::random_device> prd;
- bool rd_reliable{false};
#endif // !MPT_COMPILER_QUIRK_RANDOM_NO_RANDOM_DEVICE
std::unique_ptr<std::mt19937> rd_fallback;
@@ -164,13 +163,12 @@
#if !defined(MPT_COMPILER_QUIRK_RANDOM_NO_RANDOM_DEVICE)
try {
prd = std::make_unique<std::random_device>();
- rd_reliable = ((*prd).entropy() > 0.0);
+ if (!((*prd).entropy() > 0.0)) {
+ init_fallback();
+ }
} catch (mpt::out_of_memory e) {
mpt::rethrow_out_of_memory(e);
} catch (const std::exception &) {
- rd_reliable = false;
- }
- if (!rd_reliable) {
init_fallback();
}
#else // MPT_COMPILER_QUIRK_RANDOM_NO_RANDOM_DEVICE
@@ -182,13 +180,12 @@
#if !defined(MPT_COMPILER_QUIRK_RANDOM_NO_RANDOM_DEVICE)
try {
prd = std::make_unique<std::random_device>(token);
- rd_reliable = ((*prd).entropy() > 0.0);
+ if (!((*prd).entropy() > 0.0)) {
+ init_fallback();
+ }
} catch (mpt::out_of_memory e) {
mpt::rethrow_out_of_memory(e);
} catch (const std::exception &) {
- rd_reliable = false;
- }
- if (!rd_reliable) {
init_fallback();
}
#else // MPT_COMPILER_QUIRK_RANDOM_NO_RANDOM_DEVICE
@@ -239,13 +236,10 @@
}
}
} catch (const std::exception &) {
- rd_reliable = false;
init_fallback();
}
- } else {
- rd_reliable = false;
}
- if (!rd_reliable) {
+ if (rd_fallback) {
// std::random_device is unreliable
// XOR the generated random number with more entropy from the time-seeded
// PRNG.
|