diff options
author | Arseny Kapoulkine <arseny.kapoulkine@gmail.com> | 2014-11-24 20:49:12 -0800 |
---|---|---|
committer | Arseny Kapoulkine <arseny.kapoulkine@gmail.com> | 2014-11-24 20:49:12 -0800 |
commit | b7a1feccf79f953b107696841d66666cba5fa8e4 (patch) | |
tree | c3cd7f2b030d8f87901e428b29930ee969d6661b /src/pugixml.cpp | |
parent | 3e1ae89cf6f750ac088a3b73ed6ef1559e2d436f (diff) |
Use _wfopen and fseeko64 on MinGW in C++11 mode
Since MinGW 4.5 does not define these functions if __STRICT_ANSI__ is defined
(in case of _wfopen it defines it inconsistently between stdio.h and wchar.h)
use the baseline functions for MinGW 4.5 and earlier.
Fixes #23.
Diffstat (limited to 'src/pugixml.cpp')
-rw-r--r-- | src/pugixml.cpp | 4 |
1 files changed, 2 insertions, 2 deletions
diff --git a/src/pugixml.cpp b/src/pugixml.cpp index ff84d44..b8847a4 100644 --- a/src/pugixml.cpp +++ b/src/pugixml.cpp @@ -3995,7 +3995,7 @@ PUGI__NS_BEGIN _fseeki64(file, 0, SEEK_END); length_type length = _ftelli64(file); _fseeki64(file, 0, SEEK_SET); - #elif defined(__MINGW32__) && !defined(__NO_MINGW_LFS) && !defined(__STRICT_ANSI__) + #elif defined(__MINGW32__) && !defined(__NO_MINGW_LFS) && !(defined(__STRICT_ANSI__) && __GNUC__ * 100 + __GNUC_MINOR__ <= 405) // there are 64-bit versions of fseek/ftell, let's use them typedef off64_t length_type; @@ -4240,7 +4240,7 @@ PUGI__NS_BEGIN } #endif -#if defined(PUGI__MSVC_CRT_VERSION) || defined(__BORLANDC__) || (defined(__MINGW32__) && !defined(__STRICT_ANSI__)) +#if defined(PUGI__MSVC_CRT_VERSION) || defined(__BORLANDC__) || (defined(__MINGW32__) && !(defined(__STRICT_ANSI__) && __GNUC__ * 100 + __GNUC_MINOR__ <= 405)) PUGI__FN FILE* open_file_wide(const wchar_t* path, const wchar_t* mode) { return _wfopen(path, mode); |