git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@56816
c3d73ce0-8a6f-49c7-b76d-
6d57e0e08775
+ wxString s,
+ afterDate;
if ( item.StartsWith("Date", &afterDate) )
{
const wxDateTime now = wxDateTime::Now();
if ( afterDate.empty() )
{
if ( item.StartsWith("Date", &afterDate) )
{
const wxDateTime now = wxDateTime::Now();
if ( afterDate.empty() )
{
- m_requestData = now.Format();
*size = wxNO_LEN;
}
else if ( afterDate == "+len" )
{
*size = wxNO_LEN;
}
else if ( afterDate == "+len" )
{
- m_requestData = now.FormatTime() + " " + now.FormatDate();
- *size = strlen(m_requestData.mb_str()) + 1;
+ s = now.FormatTime() + " " + now.FormatDate();
+ *size = strlen(s.mb_str()) + 1;
}
}
else if ( item == "bytes[3]" )
{
}
}
else if ( item == "bytes[3]" )
{
- const void * const data = m_requestData.mb_str();
+ // store the data pointer to which we return in a member variable to ensure
+ // that the pointer remains valid even after we return
+ m_requestData = s.mb_str();
+ const void * const data = m_requestData;
Log("OnRequest", topic, item, data, *size, format);
return data;
}
Log("OnRequest", topic, item, data, *size, format);
return data;
}
wxString m_advise;
protected:
wxString m_advise;
protected:
- // the data returned by last OnRequest(): we keep it in this wxString to
+ // the data returned by last OnRequest(): we keep it in this buffer to
// ensure that the pointer we return from OnRequest() stays valid
// ensure that the pointer we return from OnRequest() stays valid
- wxString m_requestData;
+ wxCharBuffer m_requestData;
};
class MyServer : public wxServer
};
class MyServer : public wxServer