wxDateTime::Country wxDateTime::ms_country = wxDateTime::Country_Unknown;
-// ----------------------------------------------------------------------------
-// private globals
-// ----------------------------------------------------------------------------
-
-// a critical section is needed to protect GetTimeZone() static
-// variable in MT case
-#if wxUSE_THREADS
- static wxCriticalSection gs_critsectTimezone;
-#endif // wxUSE_THREADS
-
// ----------------------------------------------------------------------------
// private functions
// ----------------------------------------------------------------------------
static long gmtoffset = LONG_MAX; // invalid timezone
#endif
- wxCRIT_SECT_LOCKER(lock, gs_critsectTimezone);
-
// ensure that the timezone variable is set by calling localtime
if ( !s_timezoneSet )
{
#ifdef HAVE_STRPTIME
+// glibc2 doesn't define this in the headers unless _XOPEN_SOURCE is defined
+// which, unfortunately, wreaks havoc elsewhere
+#if defined(__GLIBC__) && (__GLIBC__ == 2)
+ extern "C" char *strptime(const char *, const char *, struct tm *);
+#endif
+
// Unicode-friendly strptime() wrapper
static const wxChar *
CallStrptime(const wxChar *input, const char *fmt, tm *tm)
// parse the optional width
size_t width = 0;
- while ( isdigit(*++fmt) )
+ while ( wxIsdigit(*++fmt) )
{
width *= 10;
width += *fmt - _T('0');