X-Git-Url: https://git.saurik.com/wxWidgets.git/blobdiff_plain/3897b707bd39c491c820849953431e4a5751fced..b07664068bc48173d08e3146ca05dceac275aa6a:/src/common/datetime.cpp diff --git a/src/common/datetime.cpp b/src/common/datetime.cpp index f648ca26f4..987c812183 100644 --- a/src/common/datetime.cpp +++ b/src/common/datetime.cpp @@ -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 @@ -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;