Module: wine Branch: master Commit: c4852be28e6fefd7df9b3166ec13564e3695b478 URL: http://source.winehq.org/git/wine.git/?a=commit;h=c4852be28e6fefd7df9b3166ec...
Author: Nikolay Sivov nsivov@codeweavers.com Date: Sun Jun 20 13:47:39 2010 +0400
msxml3: Don't force parser encoding when loading from file.
---
dlls/msxml3/domdoc.c | 10 +++++----- dlls/msxml3/node.c | 1 + 2 files changed, 6 insertions(+), 5 deletions(-)
diff --git a/dlls/msxml3/domdoc.c b/dlls/msxml3/domdoc.c index 34be70c..4808e4e 100644 --- a/dlls/msxml3/domdoc.c +++ b/dlls/msxml3/domdoc.c @@ -141,14 +141,14 @@ static xmldoc_priv * create_priv(void) return priv; }
-static xmlDocPtr doparse( char *ptr, int len ) +static xmlDocPtr doparse( char *ptr, int len, const char *encoding ) { #ifdef HAVE_XMLREADMEMORY /* * use xmlReadMemory if possible so we can suppress * writing errors to stderr */ - return xmlReadMemory( ptr, len, NULL, "UTF-8", + return xmlReadMemory( ptr, len, NULL, encoding, XML_PARSE_NOERROR | XML_PARSE_NOWARNING | XML_PARSE_NOBLANKS ); #else return xmlParseMemory( ptr, len ); @@ -1447,7 +1447,7 @@ static HRESULT domdoc_onDataAvailable(void *obj, char *ptr, DWORD len) domdoc *This = obj; xmlDocPtr xmldoc;
- xmldoc = doparse( ptr, len ); + xmldoc = doparse( ptr, len, NULL ); if(xmldoc) { xmldoc->_private = create_priv(); return attach_xmldoc(&This->node, xmldoc); @@ -1683,9 +1683,9 @@ static HRESULT WINAPI domdoc_loadXML( { *isSuccessful = VARIANT_FALSE;
- if ( bstrXML && bstr_to_utf8( bstrXML, &str, &len ) ) + if ( bstrXML && bstr_to_utf8( bstrXML, &str, &len ) ) { - xmldoc = doparse( str, len ); + xmldoc = doparse( str, len, "UTF-8" ); heap_free( str ); if ( !xmldoc ) This->error = E_FAIL; diff --git a/dlls/msxml3/node.c b/dlls/msxml3/node.c index e263a2a..31c6e46 100644 --- a/dlls/msxml3/node.c +++ b/dlls/msxml3/node.c @@ -437,6 +437,7 @@ static HRESULT WINAPI xmlnode_get_firstChild( IXMLDOMNode** firstChild) { xmlnode *This = impl_from_IXMLDOMNode( iface ); + TRACE("(%p)->(%p)\n", This, firstChild); return get_node( This, "firstChild", This->node->children, firstChild ); }