diff --git a/include/wx/filefn.h b/include/wx/filefn.h index 6589123bb2..077f5544b9 100644 --- a/include/wx/filefn.h +++ b/include/wx/filefn.h @@ -293,8 +293,12 @@ enum wxPosixPermissions #define wxCRT_OpenW _wopen #endif + wxDECL_FOR_STRICT_MINGW32(int, _wopen, (const wchar_t*, int, ...)) + wxDECL_FOR_STRICT_MINGW32(int, _waccess, (const wchar_t*, int)) + wxDECL_FOR_STRICT_MINGW32(int, _wchmod, (const wchar_t*, int)) wxDECL_FOR_STRICT_MINGW32(int, _wmkdir, (const wchar_t*)) wxDECL_FOR_STRICT_MINGW32(int, _wrmdir, (const wchar_t*)) + wxDECL_FOR_STRICT_MINGW32(int, _wstati64, (const wchar_t*, struct _stati64*)) #define wxCRT_AccessW _waccess #define wxCRT_ChmodW _wchmod diff --git a/include/wx/wxcrtbase.h b/include/wx/wxcrtbase.h index 7391bc5283..960d20d112 100644 --- a/include/wx/wxcrtbase.h +++ b/include/wx/wxcrtbase.h @@ -194,6 +194,9 @@ extern unsigned long android_wcstoul(const wchar_t *nptr, wchar_t **endptr, int #endif #ifdef HAVE_STRTOULL + wxDECL_FOR_STRICT_MINGW32(long long, strtoll, (const char*, char**, int)) + wxDECL_FOR_STRICT_MINGW32(unsigned long long, strtoull, (const char*, char**, int)) + #define wxCRT_StrtollA strtoll #define wxCRT_StrtoullA strtoull #endif /* HAVE_STRTOULL */ diff --git a/include/wx/wxcrtvararg.h b/include/wx/wxcrtvararg.h index b1af0e656f..698525f02f 100644 --- a/include/wx/wxcrtvararg.h +++ b/include/wx/wxcrtvararg.h @@ -240,6 +240,8 @@ return vsscanf(const_cast(str), format, ap); } #else + wxDECL_FOR_STRICT_MINGW32(int, vsscanf, (const char*, const char*, va_list)); + #define wxCRT_VsscanfA vsscanf #endif @@ -255,6 +257,8 @@ #ifdef wxNEED_VSWSCANF int wxCRT_VsscanfW(const wchar_t *str, const wchar_t *format, va_list ap); #else + wxDECL_FOR_STRICT_MINGW32(int, vswscanf, (const wchar_t*, const wchar_t*, va_list)); + #define wxCRT_VsscanfW wxVMS_USE_STD vswscanf #endif diff --git a/src/common/filefn.cpp b/src/common/filefn.cpp index 188f954677..0a9296a321 100644 --- a/src/common/filefn.cpp +++ b/src/common/filefn.cpp @@ -83,6 +83,8 @@ // TODO: Borland probably has _wgetcwd as well? #if defined(_MSC_VER) || defined(__MINGW32__) + wxDECL_FOR_STRICT_MINGW32(wchar_t*, _wgetcwd, (wchar_t*, int)) + #define HAVE_WGETCWD #endif diff --git a/src/common/time.cpp b/src/common/time.cpp index 6c42da537a..b60bf2e6c4 100644 --- a/src/common/time.cpp +++ b/src/common/time.cpp @@ -182,6 +182,10 @@ int wxGetTimeZone() #if defined(WX_TIMEZONE) // If WX_TIMEZONE was defined by configure, use it. return WX_TIMEZONE; #elif defined(__BORLANDC__) || defined(__MINGW32__) + #if defined(__MINGW32_TOOLCHAIN__) && defined(__STRICT_ANSI__) + extern long _timezone; + #endif + return _timezone; #else // unknown platform -- assume it has timezone return timezone;