aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorAaron Clauson <aaron@sipsorcery.com>2017-11-10 07:06:49 +1100
committerAaron Clauson <aaron@sipsorcery.com>2017-11-10 07:06:49 +1100
commitfbf327b13868861c2877c5754caf5a9816f2603c (patch)
treec8fe180d7a8ad74859dfcf28e0f4de96eb2ab4e7
parent1f4375f8e75f95522ad763d06da047b1b3893530 (diff)
downloadbitcoin-fbf327b13868861c2877c5754caf5a9816f2603c.tar.xz
Minimal code changes to allow msvc compilation.
-rw-r--r--src/bench/base58.cpp2
-rw-r--r--src/bench/checkqueue.cpp2
-rw-r--r--src/chainparams.cpp6
-rw-r--r--src/compat.h10
-rw-r--r--src/net_processing.cpp2
-rw-r--r--src/random.h2
-rw-r--r--src/support/cleanse.cpp6
-rw-r--r--src/test/checkqueue_tests.cpp2
8 files changed, 23 insertions, 9 deletions
diff --git a/src/bench/base58.cpp b/src/bench/base58.cpp
index 65e27a615d..c74a958c8b 100644
--- a/src/bench/base58.cpp
+++ b/src/bench/base58.cpp
@@ -22,7 +22,7 @@ static void Base58Encode(benchmark::State& state)
}
};
while (state.KeepRunning()) {
- EncodeBase58(buff.begin(), buff.end());
+ EncodeBase58(buff.data(), buff.data() + buff.size());
}
}
diff --git a/src/bench/checkqueue.cpp b/src/bench/checkqueue.cpp
index b7ae5c2d57..94064c9ca6 100644
--- a/src/bench/checkqueue.cpp
+++ b/src/bench/checkqueue.cpp
@@ -19,7 +19,7 @@ static const int MIN_CORES = 2;
static const size_t BATCHES = 101;
static const size_t BATCH_SIZE = 30;
static const int PREVECTOR_SIZE = 28;
-static const int QUEUE_BATCH_SIZE = 128;
+static const unsigned int QUEUE_BATCH_SIZE = 128;
static void CCheckQueueSpeed(benchmark::State& state)
{
struct FakeJobNoWork {
diff --git a/src/chainparams.cpp b/src/chainparams.cpp
index 950bdd945c..77c17c061c 100644
--- a/src/chainparams.cpp
+++ b/src/chainparams.cpp
@@ -146,7 +146,7 @@ public:
fRequireStandard = true;
fMineBlocksOnDemand = false;
- checkpointData = (CCheckpointData) {
+ checkpointData = {
{
{ 11111, uint256S("0x0000000069e244f73d78e8fd29ba2fd2ed618bd6fa2ee92559f542fdb26e7c1d")},
{ 33333, uint256S("0x000000002dd5588a74784eaa7ab0507a18ad16a236e7b1ce69f00d7ddfb5d0a6")},
@@ -248,7 +248,7 @@ public:
fMineBlocksOnDemand = false;
- checkpointData = (CCheckpointData) {
+ checkpointData = {
{
{546, uint256S("000000002a936ca763904c3c35fce2f3556c559c0214345d31b1bcebf76acb70")},
}
@@ -319,7 +319,7 @@ public:
fRequireStandard = false;
fMineBlocksOnDemand = true;
- checkpointData = (CCheckpointData) {
+ checkpointData = {
{
{0, uint256S("0f9188f13cb7b2c71f2a335e3a4fc328bf5beb436012afca590b1a11466e2206")},
}
diff --git a/src/compat.h b/src/compat.h
index e022659c01..09657eccba 100644
--- a/src/compat.h
+++ b/src/compat.h
@@ -31,6 +31,7 @@
#include <mswsock.h>
#include <windows.h>
#include <ws2tcpip.h>
+#include <stdint.h>
#else
#include <sys/fcntl.h>
#include <sys/mman.h>
@@ -71,6 +72,15 @@ typedef unsigned int SOCKET;
#else
#define MAX_PATH 1024
#endif
+#ifdef _MSC_VER
+#if !defined(ssize_t)
+#ifdef _WIN64
+typedef int64_t ssize_t;
+#else
+typedef int32_t ssize_t;
+#endif
+#endif
+#endif
#if HAVE_DECL_STRNLEN == 0
size_t strnlen( const char *start, size_t max_len);
diff --git a/src/net_processing.cpp b/src/net_processing.cpp
index 52387b32f4..82b09f5f14 100644
--- a/src/net_processing.cpp
+++ b/src/net_processing.cpp
@@ -41,7 +41,7 @@ std::atomic<int64_t> nTimeBestReceived(0); // Used only to inform the wallet of
struct IteratorComparator
{
template<typename I>
- bool operator()(const I& a, const I& b)
+ bool operator()(const I& a, const I& b) const
{
return &(*a) < &(*b);
}
diff --git a/src/random.h b/src/random.h
index c60ab36179..413adbd464 100644
--- a/src/random.h
+++ b/src/random.h
@@ -128,7 +128,7 @@ public:
* sure that the underlying OS APIs for all platforms support the number.
* (many cap out at 256 bytes).
*/
-static const ssize_t NUM_OS_RANDOM_BYTES = 32;
+static const int NUM_OS_RANDOM_BYTES = 32;
/** Get 32 bytes of system entropy. Do not use this in application code: use
* GetStrongRandBytes instead.
diff --git a/src/support/cleanse.cpp b/src/support/cleanse.cpp
index 95899c9f02..eb6e0a73a2 100644
--- a/src/support/cleanse.cpp
+++ b/src/support/cleanse.cpp
@@ -7,6 +7,10 @@
#include <cstring>
+#if defined(_MSC_VER)
+#include <Windows.h> // For SecureZeroMemory.
+#endif
+
/* Compilers have a bad habit of removing "superfluous" memset calls that
* are trying to zero memory. For example, when memset()ing a buffer and
* then free()ing it, the compiler might decide that the memset is
@@ -32,7 +36,7 @@ void memory_cleanse(void *ptr, size_t len)
might try to eliminate "superfluous" memsets. If there's an easy way to
detect memset_s, it would be better to use that. */
#if defined(_MSC_VER)
- __asm;
+ SecureZeroMemory(ptr, len);
#else
__asm__ __volatile__("" : : "r"(ptr) : "memory");
#endif
diff --git a/src/test/checkqueue_tests.cpp b/src/test/checkqueue_tests.cpp
index c4564b45b0..162c597c30 100644
--- a/src/test/checkqueue_tests.cpp
+++ b/src/test/checkqueue_tests.cpp
@@ -24,7 +24,7 @@
// otherwise.
BOOST_FIXTURE_TEST_SUITE(checkqueue_tests, TestingSetup)
-static const int QUEUE_BATCH_SIZE = 128;
+static const unsigned int QUEUE_BATCH_SIZE = 128;
struct FakeCheck {
bool operator()()