Call tzset() for all compilers before using time zone variable.

Changes of r66245 shouldn't have been specific to MSVC, we must call tzset()
when using any other compiler as well, otherwise time zone information can be
initially incorrect.

Closes #13862.

git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@70332 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
This commit is contained in:
Vadim Zeitlin
2012-01-13 11:36:33 +00:00
parent b98b75cddf
commit 8c7114c227

View File

@@ -223,15 +223,22 @@ int wxGetTimeZone()
#else // VC++ < 8 #else // VC++ < 8
return timezone; return timezone;
#endif #endif
#elif defined(WX_TIMEZONE) // If WX_TIMEZONE was defined by configure, use it. #else // Use some kind of time zone variable.
return WX_TIMEZONE; // In any case we must initialize the time zone before using it.
#elif defined(__BORLANDC__) || defined(__MINGW32__) || defined(__VISAGECPP__) tzset();
return _timezone;
#elif defined(__MWERKS__) #if defined(WX_TIMEZONE) // If WX_TIMEZONE was defined by configure, use it.
return 28800; return WX_TIMEZONE;
#else // unknown platform -- assume it has timezone #elif defined(__BORLANDC__) || defined(__MINGW32__) || defined(__VISAGECPP__)
return timezone; return _timezone;
#endif // WX_GMTOFF_IN_TM/!WX_GMTOFF_IN_TM #elif defined(__MWERKS__)
// This is just plain wrong but apparently MetroWerks runtime didn't have
// any way to get the time zone.
return 28800;
#else // unknown platform -- assume it has timezone
return timezone;
#endif // different time zone variables
#endif // different ways to determine time zone
} }
// Get local time as seconds since 00:00:00, Jan 1st 1970 // Get local time as seconds since 00:00:00, Jan 1st 1970