XML code fixes (patch #815196)

git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@24012 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
This commit is contained in:
Václav Slavík 2003-09-30 18:36:05 +00:00
parent 9c9ceb4820
commit 6a8fb6bdea

View File

@ -543,8 +543,10 @@ bool wxXmlDocument::Load(wxInputStream& stream, const wxString& encoding)
done = (len < BUFSIZE);
if (!XML_Parse(parser, buf, len, done))
{
wxString error(XML_ErrorString(XML_GetErrorCode(parser)),
*wxConvCurrent);
wxLogError(_("XML parsing error: '%s' at line %d"),
XML_ErrorString(XML_GetErrorCode(parser)),
error.c_str(),
XML_GetCurrentLineNumber(parser));
ok = false;
break;
@ -553,10 +555,16 @@ bool wxXmlDocument::Load(wxInputStream& stream, const wxString& encoding)
if (ok)
{
SetVersion(ctx.version);
SetFileEncoding(ctx.encoding);
if (!ctx.version.IsEmpty())
SetVersion(ctx.version);
if (!ctx.encoding.IsEmpty())
SetFileEncoding(ctx.encoding);
SetRoot(ctx.root);
}
else
{
delete ctx.root;
}
XML_ParserFree(parser);
#if !wxUSE_UNICODE
@ -580,13 +588,7 @@ inline static void OutputString(wxOutputStream& stream, const wxString& str,
{
if (str.IsEmpty()) return;
#if wxUSE_UNICODE
const wxWX2MBbuf buf(str.mb_str(
#ifdef __MWERKS__
*(convFile ? convFile : &wxConvUTF8)
#else
convFile ? *convFile : wxConvUTF8
#endif
));
const wxWX2MBbuf buf(str.mb_str(*(convFile ? convFile : &wxConvUTF8)));
stream.Write((const char*)buf, strlen((const char*)buf));
#else
if ( convFile == NULL )