From: Julian Smart Date: Tue, 22 Sep 2009 13:06:42 +0000 (+0000) Subject: Fixed #9996 (incorrect XML output in Ansi build for non-ASCII character) X-Git-Url: https://git.saurik.com/wxWidgets.git/commitdiff_plain/59a87eeaf6be1d7d192ace678a59e36cb6ad5566?ds=sidebyside;hp=77749ea963ec6696d04780861baffacc8b775af5 Fixed #9996 (incorrect XML output in Ansi build for non-ASCII character) git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@62014 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775 --- diff --git a/src/richtext/richtextxml.cpp b/src/richtext/richtextxml.cpp index feb26567ae..d6b35b6b4e 100644 --- a/src/richtext/richtextxml.cpp +++ b/src/richtext/richtextxml.cpp @@ -495,7 +495,11 @@ static void OutputStringEnt(wxOutputStream& stream, const wxString& str, OutputString(stream, str.Mid(last, i - last), convMem, convFile); wxString s(wxT("&#")); +#if wxUSE_UNICODE s << (int) c; +#else + s << (int) wxUChar(c); +#endif s << wxT(";"); OutputString(stream, s, NULL, NULL); last = i + 1; @@ -547,7 +551,11 @@ static wxString AttributeToXML(const wxString& str) str1 += str.Mid(last, i - last); wxString s(wxT("&#")); +#if wxUSE_UNICODE s << (int) c; +#else + s << (int) wxUChar(c); +#endif s << wxT(";"); str1 += s; last = i + 1; @@ -730,7 +738,11 @@ bool wxRichTextXMLHandler::ExportXML(wxOutputStream& stream, wxMBConv* convMem, } else for (i = 0; i < len; i++) { +#if wxUSE_UNICODE int c = (int) text[i]; +#else + int c = (int) wxUChar(text[i]); +#endif if ((c < 32 || c == 34) && c != 9 && c != 10 && c != 13) { if (i > 0)