]> git.saurik.com Git - wxWidgets.git/blobdiff - src/common/datetime.cpp
don't inherit the controls colours from the parent - at least for the background...
[wxWidgets.git] / src / common / datetime.cpp
index 7dc31201942b12699377b48881284bbecb86462c..73973840e1969384527f1833bf5db1bcf0bdea31 100644 (file)
@@ -211,10 +211,7 @@ static const wxDateTime::wxDateTime_t gs_cumulatedDays[2][MONTHS_IN_YEAR] =
 
 // in the fine tradition of ANSI C we use our equivalent of (time_t)-1 to
 // indicate an invalid wxDateTime object
-
-static const wxDateTime gs_dtDefault;
-
-const wxDateTime& wxDefaultDateTime = gs_dtDefault;
+const wxDateTime wxDefaultDateTime;
 
 wxDateTime::Country wxDateTime::ms_country = wxDateTime::Country_Unknown;
 
@@ -443,7 +440,11 @@ static bool GetNumericToken(size_t len, const wxChar*& p, unsigned long *number)
             break;
     }
 
-    return !!s && s.ToULong(number);
+    // use the base 10 explicitly because otherwise the string "09" (the
+    // leading zeroes are common in the date specifications) is not parsed
+    // correctly as, according to the standard C rules, it is understood as an
+    // octal number and '9' is not a valid octal digit!
+    return !s.empty() && s.ToULong(number, 10);
 }
 
 // scans all alphabetic characters and returns the resulting string
@@ -3105,7 +3106,7 @@ const wxChar *wxDateTime::ParseDate(const wxChar *date)
 
         // is it a number?
         unsigned long val;
-        if ( token.ToULong(&val)
+        if ( token.ToULong(&val, 10) ) // 10: see comment in GetNumericToken()
         {
             // guess what this number is