diff options
author | Mattes D <github@xoft.cz> | 2014-07-01 15:07:12 +0200 |
---|---|---|
committer | Mattes D <github@xoft.cz> | 2014-07-01 15:07:12 +0200 |
commit | 9d843405b282937f9ee70e6ad066ce65a23a02a5 (patch) | |
tree | d7ad93182d00f62766e75fa7611d273dd4ff3d34 /src/Globals.h | |
parent | Added a missing endline. (diff) | |
parent | Merge pull request #1140 from mc-server/FixMingw (diff) | |
download | cuberite-9d843405b282937f9ee70e6ad066ce65a23a02a5.tar cuberite-9d843405b282937f9ee70e6ad066ce65a23a02a5.tar.gz cuberite-9d843405b282937f9ee70e6ad066ce65a23a02a5.tar.bz2 cuberite-9d843405b282937f9ee70e6ad066ce65a23a02a5.tar.lz cuberite-9d843405b282937f9ee70e6ad066ce65a23a02a5.tar.xz cuberite-9d843405b282937f9ee70e6ad066ce65a23a02a5.tar.zst cuberite-9d843405b282937f9ee70e6ad066ce65a23a02a5.zip |
Diffstat (limited to '')
-rw-r--r-- | src/Globals.h | 21 |
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__)) |