X-Git-Url: https://git.saurik.com/wxWidgets.git/blobdiff_plain/adec277f047c509e139fab6ff4e434b845b7e426..93e4e62b92e8d86581984e5f99a2624b2caa15f5:/src/common/datetime.cpp?ds=sidebyside diff --git a/src/common/datetime.cpp b/src/common/datetime.cpp index 8bd4933a18..80d8fd5791 100644 --- a/src/common/datetime.cpp +++ b/src/common/datetime.cpp @@ -381,7 +381,8 @@ extern const char *wxDumpDate(const wxDateTime* dt) static char buf[128]; wxString fmt(dt->Format("%Y-%m-%d (%a) %H:%M:%S")); - wxStrncpy(buf, fmt + " (" + dt->GetValue().ToString() + " ticks)", + wxStrlcpy(buf, + (fmt + " (" + dt->GetValue().ToString() + " ticks)").ToAscii(), WXSIZEOF(buf)); return buf; @@ -3667,6 +3668,11 @@ wxDateTime::ParseFormat(const wxString& date, Tm tm = tmDef; // set the date + if ( haveMon ) + { + tm.mon = mon; + } + if ( haveYear ) { tm.year = year; @@ -3675,16 +3681,15 @@ wxDateTime::ParseFormat(const wxString& date, // TODO we don't check here that the values are consistent, if both year // day and month/day were found, we just ignore the year day and we // also always ignore the week day - if ( haveMon && haveDay ) + if ( haveDay ) { - if ( mday > GetNumOfDaysInMonth(tm.year, mon) ) + if ( mday > GetNumOfDaysInMonth(tm.year, tm.mon) ) { wxLogDebug(_T("bad month day in wxDateTime::ParseFormat")); return NULL; } - tm.mon = mon; tm.mday = mday; } else if ( haveYDay ) @@ -4598,7 +4603,7 @@ WXDLLIMPEXP_BASE void wxPrevWDay(wxDateTime::WeekDay& wd) wxDateTime& wxDateTime::SetFromMSWSysTime(const SYSTEMTIME& st) { return Set(st.wDay, - wx_static_cast(wxDateTime::Month, wxDateTime::Jan + st.wMonth - 1), + static_cast(wxDateTime::Jan + st.wMonth - 1), st.wYear, 0, 0, 0); }