Nikolay Sivov : msxml3: Don't force parser encoding when loading from file.

Alexandre Julliard julliard at winehq.org
Mon Jun 21 11:07:00 CDT 2010


Module: wine
Branch: master
Commit: c4852be28e6fefd7df9b3166ec13564e3695b478
URL:    http://source.winehq.org/git/wine.git/?a=commit;h=c4852be28e6fefd7df9b3166ec13564e3695b478

Author: Nikolay Sivov <nsivov at 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 );
 }
 




More information about the wine-cvs mailing list