summaryrefslogtreecommitdiff
path: root/src/SimpleRandomizer.h
diff options
context:
space:
mode:
authorTatsuhiro Tsujikawa <tatsuhiro.t@gmail.com>2011-08-18 18:03:06 +0900
committerTatsuhiro Tsujikawa <tatsuhiro.t@gmail.com>2011-08-18 18:03:06 +0900
commitbf42505b7b32400bfdc183fb5f1588394e6417dc (patch)
tree43b6019dded6085cf4e4e1170d9540d2f76e4874 /src/SimpleRandomizer.h
parentdce0667c0be31a8dbaee3f6ec7e223d11ec9f7dd (diff)
MinGW32: Use CryptGenRandom() to generate random number.
MinGW32 lacks random(), so we use CryptGenRandom() as a replacement. In the implementation, SimpleRandomizer::getRandomNumber() returns the random number in range [0, INT32_MAX]. Thus, simpleRandomizer::getMaxRandomNumber() returns INT32_MAX.
Diffstat (limited to 'src/SimpleRandomizer.h')
-rw-r--r--src/SimpleRandomizer.h8
1 files changed, 8 insertions, 0 deletions
diff --git a/src/SimpleRandomizer.h b/src/SimpleRandomizer.h
index e99564c9..6ffc43eb 100644
--- a/src/SimpleRandomizer.h
+++ b/src/SimpleRandomizer.h
@@ -37,12 +37,20 @@
#include "Randomizer.h"
+#ifdef __MINGW32__
+# include <wincrypt.h>
+#endif // __MINGW32__
+
namespace aria2 {
class SimpleRandomizer : public Randomizer {
private:
static SharedHandle<SimpleRandomizer> randomizer_;
+#ifdef __MINGW32__
+ HCRYPTPROV cryProvider_;
+#endif //__MINGW32__
+
SimpleRandomizer();
public: