always return (owned or non-owned, depending on build) wxScopedCharBuffer from utf8_str() and ToUTF8()

git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@59945 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
This commit is contained in:
Václav Slavík
2009-03-30 18:28:42 +00:00
parent 911907f4ad
commit 197380a09f
8 changed files with 18 additions and 39 deletions

View File

@@ -427,13 +427,6 @@ typedef wxWritableCharTypeBuffer<wchar_t> wxWritableWCharBuffer;
#define wxWX2WCbuf wxWCharBuffer
#endif // Unicode/ANSI
// type of the value returned by wxString::utf8_str()
#if wxUSE_UNICODE_UTF8
#define wxUTF8Buf char *
#else
#define wxUTF8Buf wxCharBuffer
#endif
// ----------------------------------------------------------------------------
// A class for holding growable data buffers (not necessarily strings)
// ----------------------------------------------------------------------------

View File

@@ -72,7 +72,7 @@ public:
: size, wxIPC_UNICODETEXT); }
bool Execute(const wxString& s)
{
const wxUTF8Buf buf = s.utf8_str();
const wxScopedCharBuffer buf = s.utf8_str();
return DoExecute(buf, strlen(buf) + 1, wxIPC_UTF8TEXT);
}
bool Execute(const wxCStrData& cs)
@@ -94,7 +94,7 @@ public:
: size, wxIPC_UNICODETEXT); }
bool Poke(const wxString& item, const wxString s)
{
const wxUTF8Buf buf = s.utf8_str();
const wxScopedCharBuffer buf = s.utf8_str();
return DoPoke(item, buf, strlen(buf) + 1, wxIPC_UTF8TEXT);
}
bool Poke(const wxString& item, const wxCStrData& cs)
@@ -116,7 +116,7 @@ public:
: size, wxIPC_UNICODETEXT); }
bool Advise(const wxString& item, const wxString s)
{
const wxUTF8Buf buf = s.utf8_str();
const wxScopedCharBuffer buf = s.utf8_str();
return DoAdvise(item, buf, strlen(buf) + 1, wxIPC_UTF8TEXT);
}
bool Advise(const wxString& item, const wxCStrData& cs)

View File

@@ -1710,8 +1710,10 @@ public:
return FromImpl(wxStringImpl(utf8, len));
}
const char* utf8_str() const { return wx_str(); }
const char* ToUTF8() const { return wx_str(); }
const wxScopedCharBuffer utf8_str() const
{ return wxCharBuffer::CreateNonOwned(wx_str()); }
const wxScopedCharBuffer ToUTF8() const
{ return wxCharBuffer::CreateNonOwned(wx_str()); }
// this function exists in UTF-8 build only and returns the length of the
// internal UTF-8 representation