aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorWladimir J. van der Laan <laanwj@gmail.com>2014-02-22 09:45:15 +0100
committerWladimir J. van der Laan <laanwj@gmail.com>2014-02-22 11:36:37 +0100
commitd5f1e727a8896eec237acbbe4023685eb6b74881 (patch)
tree603a8610e474ae148a4ef2fb2a30d64e60367518
parent39fae6cfddb78d2aefa81a48472f885253cc42f1 (diff)
Don't use PRIx64 formatting derives from inttypes.h
As the tinyformat-based formatting system (introduced in b77dfdc) is type-safe, no special format characters are needed to specify sizes. Tinyformat can support (ignore) the C99 prefixes such as "ll" but chokes on MSVC's inttypes.h defines prefixes such as "I64X". So don't include inttypes.h and define our own for compatibility. (an alternative would be to sweep the entire codebase using sed -i to get rid of the size specifiers but this has less diff impact)
-rw-r--r--src/alert.cpp1
-rw-r--r--src/db.cpp1
-rw-r--r--src/init.cpp1
-rw-r--r--src/main.cpp1
-rw-r--r--src/net.h1
-rw-r--r--src/rpcnet.cpp2
-rw-r--r--src/util.h27
-rw-r--r--src/wallet.cpp2
-rw-r--r--src/walletdb.cpp2
9 files changed, 19 insertions, 19 deletions
diff --git a/src/alert.cpp b/src/alert.cpp
index 4dd3716e80..4429ecadce 100644
--- a/src/alert.cpp
+++ b/src/alert.cpp
@@ -11,7 +11,6 @@
#include "util.h"
#include <algorithm>
-#include <inttypes.h>
#include <map>
#include <boost/algorithm/string/classification.hpp>
diff --git a/src/db.cpp b/src/db.cpp
index 592512c947..591d4ed477 100644
--- a/src/db.cpp
+++ b/src/db.cpp
@@ -10,7 +10,6 @@
#include "protocol.h"
#include "util.h"
-#include <inttypes.h>
#include <stdint.h>
#ifndef WIN32
diff --git a/src/init.cpp b/src/init.cpp
index c05ed4356c..4cc04f5205 100644
--- a/src/init.cpp
+++ b/src/init.cpp
@@ -24,7 +24,6 @@
#include "walletdb.h"
#endif
-#include <inttypes.h>
#include <stdint.h>
#ifndef WIN32
diff --git a/src/main.cpp b/src/main.cpp
index f46375aa94..4c98345d68 100644
--- a/src/main.cpp
+++ b/src/main.cpp
@@ -17,7 +17,6 @@
#include "ui_interface.h"
#include "util.h"
-#include <inttypes.h>
#include <sstream>
#include <boost/algorithm/string/replace.hpp>
diff --git a/src/net.h b/src/net.h
index 8995f70da4..da590f89e1 100644
--- a/src/net.h
+++ b/src/net.h
@@ -18,7 +18,6 @@
#include "util.h"
#include <deque>
-#include <inttypes.h>
#include <stdint.h>
#ifndef WIN32
diff --git a/src/rpcnet.cpp b/src/rpcnet.cpp
index b764349338..738b966b8a 100644
--- a/src/rpcnet.cpp
+++ b/src/rpcnet.cpp
@@ -15,8 +15,6 @@
#include "wallet.h" // for getinfo
#endif
-#include <inttypes.h>
-
#include <boost/foreach.hpp>
#include "json/json_spirit_value.h"
diff --git a/src/util.h b/src/util.h
index 6f7627e090..6ef93021fd 100644
--- a/src/util.h
+++ b/src/util.h
@@ -16,7 +16,6 @@
#include <cstdio>
#include <exception>
-#include <inttypes.h>
#include <map>
#include <stdarg.h>
#include <stdint.h>
@@ -45,13 +44,25 @@ static const int64_t CENT = 1000000;
#define UEND(a) ((unsigned char*)&((&(a))[1]))
#define ARRAYLEN(array) (sizeof(array)/sizeof((array)[0]))
-/* Format characters for (s)size_t and ptrdiff_t (C99 standard) */
-#define PRIszx "zx"
-#define PRIszu "zu"
-#define PRIszd "zd"
-#define PRIpdx "tx"
-#define PRIpdu "tu"
-#define PRIpdd "td"
+/* Format characters for (s)size_t, ptrdiff_t, uint64_t.
+ *
+ * As the tinyformat-based formatting system is type-safe, no special format
+ * characters are really needed to specify sizes. Tinyformat can support
+ * (ignores) the C99 prefixes such as "ll" but chokes on MSVC's inttypes
+ * defines prefixes such as "I64X". So don't include inttypes.h and define our
+ * own for compatibility.
+ * If you get a warning here about a redefine of PRI?64, make sure that
+ * inttypes.h is not included.
+ */
+#define PRIszx "x"
+#define PRIszu "u"
+#define PRIszd "d"
+#define PRIpdx "x"
+#define PRIpdu "u"
+#define PRIpdd "d"
+#define PRIx64 "x"
+#define PRIu64 "u"
+#define PRId64 "d"
// This is needed because the foreach macro can't get over the comma in pair<t1, t2>
#define PAIRTYPE(t1, t2) std::pair<t1, t2>
diff --git a/src/wallet.cpp b/src/wallet.cpp
index 823c96949f..2119098595 100644
--- a/src/wallet.cpp
+++ b/src/wallet.cpp
@@ -9,8 +9,6 @@
#include "coincontrol.h"
#include "net.h"
-#include <inttypes.h>
-
#include <boost/algorithm/string/replace.hpp>
#include <openssl/rand.h>
diff --git a/src/walletdb.cpp b/src/walletdb.cpp
index b3816a54b6..b5b523740b 100644
--- a/src/walletdb.cpp
+++ b/src/walletdb.cpp
@@ -11,8 +11,6 @@
#include "sync.h"
#include "wallet.h"
-#include <inttypes.h>
-
#include <boost/filesystem.hpp>
#include <boost/foreach.hpp>