diff options
author | Martin Willi <martin@revosec.ch> | 2013-10-15 17:40:06 +0200 |
---|---|---|
committer | Martin Willi <martin@revosec.ch> | 2014-06-04 15:52:58 +0200 |
commit | a2216a28687f776052163bd1bda315d19ceb70a6 (patch) | |
tree | d5c64289a75cabb24ce1e2fa6452bf996128ea12 /src | |
parent | 95a8d53dbe1f0dcff27e170fc47902bd4006102d (diff) | |
download | strongswan-a2216a28687f776052163bd1bda315d19ceb70a6.tar.bz2 strongswan-a2216a28687f776052163bd1bda315d19ceb70a6.tar.xz |
windows: Fix up PRI* printf formatters when building against own backend
Diffstat (limited to 'src')
-rw-r--r-- | src/libstrongswan/utils/windows.h | 71 |
1 files changed, 71 insertions, 0 deletions
diff --git a/src/libstrongswan/utils/windows.h b/src/libstrongswan/utils/windows.h index d47ae9a99..24c9d8a58 100644 --- a/src/libstrongswan/utils/windows.h +++ b/src/libstrongswan/utils/windows.h @@ -24,6 +24,7 @@ #include <winsock2.h> #include <ws2tcpip.h> #include <direct.h> +#include <inttypes.h> /* undef Windows variants evaluating values more than once */ #undef min @@ -223,4 +224,74 @@ static inline int dlclose(void *handle) return FreeLibrary((HMODULE)handle); } +/* Windows does not support "ll" format printf length modifiers. Mingw + * therefore maps these to the Windows specific I64 length modifier. That + * won't work for us, as we use our own printf backend on Windows, which works + * just fine with "ll". */ +#undef PRId64 +#define PRId64 "lld" +#undef PRId64 +#define PRId64 "lld" +#undef PRIdLEAST64 +#define PRIdLEAST64 "lld" +#undef PRIdFAST64 +#define PRIdFAST64 "lld" +#undef PRIdMAX +#define PRIdMAX "lld" +#undef PRIi64 +#define PRIi64 "lli" +#undef PRIiLEAST64 +#define PRIiLEAST64 "lli" +#undef PRIiFAST64 +#define PRIiFAST64 "lli" +#undef PRIiMAX +#define PRIiMAX "lli" +#undef PRIo64 +#define PRIo64 "llo" +#undef PRIoLEAST64 +#define PRIoLEAST64 "llo" +#undef PRIoFAST64 +#define PRIoFAST64 "llo" +#undef PRIoMAX +#define PRIoMAX "llo" +#undef PRIu64 +#define PRIu64 "llu" +#undef PRIuLEAST64 +#define PRIuLEAST64 "llu" +#undef PRIuFAST64 +#define PRIuFAST64 "llu" +#undef PRIuMAX +#define PRIuMAX "llu" +#undef PRIx64 +#define PRIx64 "llx" +#undef PRIxLEAST64 +#define PRIxLEAST64 "llx" +#undef PRIxFAST64 +#define PRIxFAST64 "llx" +#undef PRIxMAX +#define PRIxMAX "llx" +#undef PRIX64 +#define PRIX64 "llX" +#undef PRIXLEAST64 +#define PRIXLEAST64 "llX" +#undef PRIXFAST64 +#define PRIXFAST64 "llX" +#undef PRIXMAX +#define PRIXMAX "llX" + +#ifdef _WIN64 +# undef PRIdPTR +# define PRIdPTR "lld" +# undef PRIiPTR +# define PRIiPTR "lli" +# undef PRIoPTR +# define PRIoPTR "llo" +# undef PRIuPTR +# define PRIuPTR "llu" +# undef PRIxPTR +# define PRIxPTR "llx" +# undef PRIXPTR +# define PRIXPTR "llX" +#endif /* _WIN64 */ + #endif /** WINDOWS_H_ @}*/ |