summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorMattes D <github@xoft.cz>2014-06-30 21:58:23 +0200
committerMattes D <github@xoft.cz>2014-06-30 21:58:23 +0200
commitf9f3f7eac59c8de2bcb3f878849d355d5b9e3c9a (patch)
treefee2a81d576cff4aa61b1d2f0c3681a0468c9408
parentFixed lua compilation under MinGW. (diff)
downloadcuberite-f9f3f7eac59c8de2bcb3f878849d355d5b9e3c9a.tar
cuberite-f9f3f7eac59c8de2bcb3f878849d355d5b9e3c9a.tar.gz
cuberite-f9f3f7eac59c8de2bcb3f878849d355d5b9e3c9a.tar.bz2
cuberite-f9f3f7eac59c8de2bcb3f878849d355d5b9e3c9a.tar.lz
cuberite-f9f3f7eac59c8de2bcb3f878849d355d5b9e3c9a.tar.xz
cuberite-f9f3f7eac59c8de2bcb3f878849d355d5b9e3c9a.tar.zst
cuberite-f9f3f7eac59c8de2bcb3f878849d355d5b9e3c9a.zip
-rw-r--r--src/Globals.h21
1 files changed, 18 insertions, 3 deletions
diff --git a/src/Globals.h b/src/Globals.h
index c5768facf..0c11429bd 100644
--- a/src/Globals.h
+++ b/src/Globals.h
@@ -71,9 +71,24 @@
#define FORMATSTRING(formatIndex, va_argsIndex) __attribute__((format (printf, formatIndex, va_argsIndex)))
- #define SIZE_T_FMT "%zu"
- #define SIZE_T_FMT_PRECISION(x) "%" #x "zu"
- #define SIZE_T_FMT_HEX "%zx"
+ #if defined(_WIN32)
+ // We're compiling on MinGW, which uses an old MSVCRT library that has no support for size_t printfing.
+ // We need direct size formats:
+ #if defined(_WIN64)
+ #define SIZE_T_FMT "%I64u"
+ #define SIZE_T_FMT_PRECISION(x) "%" #x "I64u"
+ #define SIZE_T_FMT_HEX "%I64x"
+ #else
+ #define SIZE_T_FMT "%u"
+ #define SIZE_T_FMT_PRECISION(x) "%" #x "u"
+ #define SIZE_T_FMT_HEX "%x"
+ #endif
+ #else
+ // We're compiling on Linux, so we can use libc's size_t printf format:
+ #define SIZE_T_FMT "%zu"
+ #define SIZE_T_FMT_PRECISION(x) "%" #x "zu"
+ #define SIZE_T_FMT_HEX "%zx"
+ #endif
#define NORETURN __attribute((__noreturn__))