aboutsummaryrefslogtreecommitdiff
path: root/include
diff options
context:
space:
mode:
authorJohannes Schindelin <johannes.schindelin@gmx.de>2017-02-01 22:29:58 +0100
committerRon Yorston <rmy@pobox.com>2017-07-18 09:51:30 +0100
commit18afed0f98d020608c65293ecb9246dab6c58db3 (patch)
tree376aa1289f3f0e934e8381507c337d68e1e4b89a /include
parentd416bdac2fff5eed7cfa70499ff61c8b8a9ca7ce (diff)
downloadbusybox-w32-18afed0f98d020608c65293ecb9246dab6c58db3.tar.gz
busybox-w32-18afed0f98d020608c65293ecb9246dab6c58db3.tar.bz2
busybox-w32-18afed0f98d020608c65293ecb9246dab6c58db3.zip
Use %I64* formats with MinGW instead of %ll* formats
The MSVC runtime uses the format specified %I64 for 64-bit data types; It does not understand e.g. %llu for unsigned long longs. However, mingw-w64 provides a compatibility mode in its runtime wrapper which can be activated by defining the constant __USE_MINGW_ANSI_STDIO=1 in which case we must refrain from overriding the %ll* formats. This fixes quite a couple of compile warnings when building with the mingw-w64 compiler. Signed-off-by: Johannes Schindelin <johannes.schindelin@gmx.de>
Diffstat (limited to 'include')
-rw-r--r--include/libbb.h9
1 files changed, 8 insertions, 1 deletions
diff --git a/include/libbb.h b/include/libbb.h
index 9313a557a..0bc8cf29e 100644
--- a/include/libbb.h
+++ b/include/libbb.h
@@ -252,6 +252,13 @@ PUSH_AND_SET_FUNCTION_VISIBILITY_TO_HIDDEN
252 : ((T)1 << (sizeof(T)*8-1)) \ 252 : ((T)1 << (sizeof(T)*8-1)) \
253 ) 253 )
254 254
255#if ENABLE_PLATFORM_MINGW32 && \
256 (!defined(__USE_MINGW_ANSI_STDIO) || !__USE_MINGW_ANSI_STDIO)
257#define LL_FMT "I64"
258#else
259#define LL_FMT "ll"
260#endif
261
255/* Large file support */ 262/* Large file support */
256/* Note that CONFIG_LFS=y forces bbox to be built with all common ops 263/* Note that CONFIG_LFS=y forces bbox to be built with all common ops
257 * (stat, lseek etc) mapped to "largefile" variants by libc. 264 * (stat, lseek etc) mapped to "largefile" variants by libc.
@@ -277,7 +284,7 @@ typedef unsigned long long uoff_t;
277# define XATOOFF(a) xatoull_range((a), 0, LLONG_MAX) 284# define XATOOFF(a) xatoull_range((a), 0, LLONG_MAX)
278# define BB_STRTOOFF bb_strtoull 285# define BB_STRTOOFF bb_strtoull
279# define STRTOOFF strtoull 286# define STRTOOFF strtoull
280# define OFF_FMT "ll" 287# define OFF_FMT LL_FMT
281# endif 288# endif
282#else 289#else
283/* CONFIG_LFS is off */ 290/* CONFIG_LFS is off */