X-Git-Url: https://git.saurik.com/wxWidgets.git/blobdiff_plain/f17ac57417530febd2c48bbb6c82004cb23d108c..7344108e8a129a3f9b4df5ab0f98a1713db03b89:/include/wx/datetime.h diff --git a/include/wx/datetime.h b/include/wx/datetime.h index 9deab532e1..cc1e6d791a 100644 --- a/include/wx/datetime.h +++ b/include/wx/datetime.h @@ -1211,15 +1211,23 @@ public: // if the overloads above were used. // // And then we also have to provide the overloads for wxCStrData, as usual. - wxAnyStrPtr ParseRfc822Date(const wxCStrData& date) - { return ParseRfc822Date(wxString(date)); } + // Unfortunately those ones can't return anything as we don't have any + // sufficiently long-lived wxAnyStrPtr to return from them: any temporary + // strings it would point to would be destroyed when this function returns + // making it impossible to dereference the return value. So we just don't + // return anything from here which at least allows to keep compatibility + // with the code not testing the return value. Other uses of this method + // need to be converted to use one of the new bool-returning overloads + // above. + void ParseRfc822Date(const wxCStrData& date) + { ParseRfc822Date(wxString(date)); } const char* ParseRfc822Date(const char* date); const wchar_t* ParseRfc822Date(const wchar_t* date); - wxAnyStrPtr ParseFormat(const wxCStrData& date, - const wxString& format = wxDefaultDateTimeFormat, - const wxDateTime& dateDef = wxDefaultDateTime) - { return ParseFormat(wxString(date), format, dateDef); } + void ParseFormat(const wxCStrData& date, + const wxString& format = wxDefaultDateTimeFormat, + const wxDateTime& dateDef = wxDefaultDateTime) + { ParseFormat(wxString(date), format, dateDef); } const char* ParseFormat(const char* date, const wxString& format = wxDefaultDateTimeFormat, const wxDateTime& dateDef = wxDefaultDateTime); @@ -1227,18 +1235,18 @@ public: const wxString& format = wxDefaultDateTimeFormat, const wxDateTime& dateDef = wxDefaultDateTime); - wxAnyStrPtr ParseDateTime(const wxCStrData& datetime) - { return ParseDateTime(wxString(datetime)); } + void ParseDateTime(const wxCStrData& datetime) + { ParseDateTime(wxString(datetime)); } const char* ParseDateTime(const char* datetime); const wchar_t* ParseDateTime(const wchar_t* datetime); - wxAnyStrPtr ParseDate(const wxCStrData& date) - { return ParseDate(wxString(date)); } + void ParseDate(const wxCStrData& date) + { ParseDate(wxString(date)); } const char* ParseDate(const char* date); const wchar_t* ParseDate(const wchar_t* date); - wxAnyStrPtr ParseTime(const wxCStrData& time) - { return ParseTime(wxString(time)); } + void ParseTime(const wxCStrData& time) + { ParseTime(wxString(time)); } const char* ParseTime(const char* time); const wchar_t* ParseTime(const wchar_t* time); @@ -2107,9 +2115,9 @@ inline wxLongLong wxTimeSpan::GetSeconds() const inline int wxTimeSpan::GetMinutes() const { - // explicit cast to int suppresses a warning with CodeWarrior and possibly - // others (changing the return type to long from int is impossible in 2.8) - return (int)((GetSeconds() / 60l).GetLo()); + // For compatibility, this method (and the other accessors) return int, + // even though GetLo() actually returns unsigned long with greater range. + return static_cast((GetSeconds() / 60l).GetLo()); } inline int wxTimeSpan::GetHours() const