]> git.saurik.com Git - wxWidgets.git/blobdiff - src/common/datetime.cpp
don't annoy the user by repeating the question which had been already answered (and...
[wxWidgets.git] / src / common / datetime.cpp
index 5198a3773d93c9df3f50502c203c6df646601186..987c81218330e8e0477b4a18e59c0af064f151f2 100644 (file)
@@ -194,7 +194,11 @@ 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
+#ifdef __WIN16__
+static const wxDateTime gs_dtDefault;
+#else
 static const wxDateTime gs_dtDefault = wxLongLong((long)ULONG_MAX, ULONG_MAX);
+#endif
 
 const wxDateTime& wxDefaultDateTime = gs_dtDefault;
 
@@ -1249,7 +1253,7 @@ wxDateTime::Tm wxDateTime::GetTm(const TimeZone& tz) const
         else
         {
             time += (time_t)tz.GetOffset();
-#ifdef __VMS__ // time is unsigned so avoid warning
+#if defined(__VMS__) || defined(__WATCOMC__) // time is unsigned so avoid warning
             int time2 = (int) time;
             if ( time2 >= 0 )
 #else
@@ -1816,7 +1820,7 @@ wxString wxDateTime::Format(const wxChar *format, const TimeZone& tz) const
         {
             time += (int)tz.GetOffset();
 
-#ifdef __VMS__ // time is unsigned so avoid the warning
+#if defined(__VMS__) || defined(__WATCOMC__) // time is unsigned so avoid warning
             int time2 = (int) time;
             if ( time2 >= 0 )
 #else
@@ -3119,7 +3123,7 @@ const wxChar *wxDateTime::ParseDate(const wxChar *date)
                     : 31;
 
                 // can it be day?
-                if ( (val == 0) || (val > maxDays) )
+                if ( (val == 0) || (val > (unsigned long)maxDays) )  // cast to shut up compiler warning in BCC
                 {
                     isYear = TRUE;
                 }
@@ -3166,7 +3170,7 @@ const wxChar *wxDateTime::ParseDate(const wxChar *date)
                     // but we already have a month - maybe we guessed wrong?
                     if ( !haveDay )
                     {
-                       // no need to check in month range as always < 12, but
+                        // no need to check in month range as always < 12, but
                         // the days are counted from 1 unlike the months
                         day = (wxDateTime_t)mon + 1;
                         haveDay = TRUE;
@@ -3176,7 +3180,7 @@ const wxChar *wxDateTime::ParseDate(const wxChar *date)
                         // could possible be the year (doesn't the year come
                         // before the month in the japanese format?) (FIXME)
                         break;
-                       }
+                    }
                 }
 
                 mon = mon2;
@@ -3251,7 +3255,7 @@ const wxChar *wxDateTime::ParseDate(const wxChar *date)
 
                     haveDay = TRUE;
 
-                    day = n + 1;
+                    day = (wxDateTime_t)(n + 1);
                 }
             }
         }
@@ -3288,7 +3292,8 @@ const wxChar *wxDateTime::ParseDate(const wxChar *date)
                 mon = (wxDateTime::Month)(day - 1);
 
                 // we're in the current year then
-                if ( year <= GetNumOfDaysInMonth(Inv_Year, mon) )
+                if ( (year > 0) &&
+                        (unsigned)year <= GetNumOfDaysInMonth(Inv_Year, mon) )
                 {
                     day = year;