]> git.saurik.com Git - wxWidgets.git/commitdiff
better check for conversion failure in OutputString(); use wxScopedCharBuffer::length...
authorVadim Zeitlin <vadim@wxwidgets.org>
Mon, 13 Apr 2009 17:49:56 +0000 (17:49 +0000)
committerVadim Zeitlin <vadim@wxwidgets.org>
Mon, 13 Apr 2009 17:49:56 +0000 (17:49 +0000)
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@60126 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775

src/xml/xml.cpp

index 0f5e61d83cc943082540b8aeb504f6fd88a618f3..a37225c3dd7c7af074c02f35b69d5b1af23bca45 100644 (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 )
     {