error instead. This can be worked around by explicitly casting to const
wxChar*: wxLogError(_("error: %s"), !err.empty() ? (const wxChar*)err.c_str() : "")
+- wxDateTime::ParseXXX() overloads don't return anything when called with
+ wxCStrData argument. If you need to test the parsing success, use a newer
+ overload taking wxString::const_iterator and returning bool or explicitly
+ select a narrow or wide char version to use by casting c_str() to either
+ "char*" or "wchar_t*". Or create a temporary wxString and parse it instead.
+
- wxCtime() and wxAsctime() return char*; this is incompatible with Unicode
build in wxWidgets 2.8 that returned wchar_t*.
// 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);
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);