better check for conversion failure in OutputString(); use wxScopedCharBuffer::length() instead of strlen()

git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@60126 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
This commit is contained in:
Vadim Zeitlin 2009-04-13 17:49:56 +00:00
parent 582886dde5
commit a6ed278608

View File

@ -783,12 +783,18 @@ bool OutputString(wxOutputStream& stream,
#if wxUSE_UNICODE
wxUnusedVar(convMem);
if ( !convFile )
convFile = &wxConvUTF8;
const wxWX2MBbuf buf(str.mb_str(*(convFile ? convFile : &wxConvUTF8)));
if ( !buf )
const wxScopedCharBuffer buf(str.mb_str(*convFile));
if ( !buf.length() )
{
// conversion failed, can't write this string in an XML file in this
// (presumably non-UTF-8) encoding
return false;
}
stream.Write(buf, strlen(buf));
stream.Write(buf, buf.length());
#else // !wxUSE_UNICODE
if ( convFile && convMem )
{