corrected parsing of dates like 01.02.03 (where year can be confused with the day) in ParseDate()

git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@23695 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
This commit is contained in:
Vadim Zeitlin
2003-09-18 22:51:50 +00:00
parent 9833a21ac4
commit 560e2916a9

View File

@@ -3349,18 +3349,27 @@ const wxChar *wxDateTime::ParseDate(const wxChar *date)
}
else // not the month
{
wxDateTime_t maxDays = haveMon
? GetNumOfDaysInMonth(haveYear ? year : Inv_Year, mon)
: 31;
// can it be day?
if ( (val == 0) || (val > (unsigned long)maxDays) ) // cast to shut up compiler warning in BCC
if ( haveDay )
{
// this can only be the year
isYear = TRUE;
}
else
else // may be either day or year
{
isDay = TRUE;
wxDateTime_t maxDays = haveMon
? GetNumOfDaysInMonth(haveYear ? year : Inv_Year, mon)
: 31;
// can it be day?
if ( (val == 0) || (val > (unsigned long)maxDays) )
{
// no
isYear = TRUE;
}
else // yes, suppose it's the day
{
isDay = TRUE;
}
}
}