Nikolay Sivov : msxml3: Get rid of ::cloneNode() forward.

Alexandre Julliard julliard at winehq.org
Mon Nov 1 11:54:35 CDT 2010


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

Author: Nikolay Sivov <nsivov at codeweavers.com>
Date:   Sun Oct 31 11:50:58 2010 +0300

msxml3: Get rid of ::cloneNode() forward.

---

 dlls/msxml3/attribute.c     |    5 +++--
 dlls/msxml3/cdata.c         |    5 +++--
 dlls/msxml3/comment.c       |    5 +++--
 dlls/msxml3/docfrag.c       |    5 +++--
 dlls/msxml3/domdoc.c        |    5 +++--
 dlls/msxml3/element.c       |    5 +++--
 dlls/msxml3/entityref.c     |    5 +++--
 dlls/msxml3/msxml_private.h |    1 +
 dlls/msxml3/node.c          |   31 ++++++++++++-------------------
 dlls/msxml3/pi.c            |    5 +++--
 dlls/msxml3/text.c          |    5 +++--
 11 files changed, 40 insertions(+), 37 deletions(-)

diff --git a/dlls/msxml3/attribute.c b/dlls/msxml3/attribute.c
index c63cf6e..c545a76 100644
--- a/dlls/msxml3/attribute.c
+++ b/dlls/msxml3/attribute.c
@@ -358,10 +358,11 @@ static HRESULT WINAPI domattr_get_ownerDocument(
 
 static HRESULT WINAPI domattr_cloneNode(
     IXMLDOMAttribute *iface,
-    VARIANT_BOOL pbool, IXMLDOMNode** outNode)
+    VARIANT_BOOL deep, IXMLDOMNode** outNode)
 {
     domattr *This = impl_from_IXMLDOMAttribute( iface );
-    return IXMLDOMNode_cloneNode( IXMLDOMNode_from_impl(&This->node), pbool, outNode );
+    TRACE("(%p)->(%d %p)\n", This, deep, outNode);
+    return node_clone( &This->node, deep, outNode );
 }
 
 static HRESULT WINAPI domattr_get_nodeTypeString(
diff --git a/dlls/msxml3/cdata.c b/dlls/msxml3/cdata.c
index c346f1b..59898d4 100644
--- a/dlls/msxml3/cdata.c
+++ b/dlls/msxml3/cdata.c
@@ -369,10 +369,11 @@ static HRESULT WINAPI domcdata_get_ownerDocument(
 
 static HRESULT WINAPI domcdata_cloneNode(
     IXMLDOMCDATASection *iface,
-    VARIANT_BOOL pbool, IXMLDOMNode** outNode)
+    VARIANT_BOOL deep, IXMLDOMNode** outNode)
 {
     domcdata *This = impl_from_IXMLDOMCDATASection( iface );
-    return IXMLDOMNode_cloneNode( IXMLDOMNode_from_impl(&This->node), pbool, outNode );
+    TRACE("(%p)->(%d %p)\n", This, deep, outNode);
+    return node_clone( &This->node, deep, outNode );
 }
 
 static HRESULT WINAPI domcdata_get_nodeTypeString(
diff --git a/dlls/msxml3/comment.c b/dlls/msxml3/comment.c
index 9f8c0e3..7358bd5 100644
--- a/dlls/msxml3/comment.c
+++ b/dlls/msxml3/comment.c
@@ -362,10 +362,11 @@ static HRESULT WINAPI domcomment_get_ownerDocument(
 
 static HRESULT WINAPI domcomment_cloneNode(
     IXMLDOMComment *iface,
-    VARIANT_BOOL pbool, IXMLDOMNode** outNode)
+    VARIANT_BOOL deep, IXMLDOMNode** outNode)
 {
     domcomment *This = impl_from_IXMLDOMComment( iface );
-    return IXMLDOMNode_cloneNode( IXMLDOMNode_from_impl(&This->node), pbool, outNode );
+    TRACE("(%p)->(%d %p)\n", This, deep, outNode);
+    return node_clone( &This->node, deep, outNode );
 }
 
 static HRESULT WINAPI domcomment_get_nodeTypeString(
diff --git a/dlls/msxml3/docfrag.c b/dlls/msxml3/docfrag.c
index ccc6744..36d3cac 100644
--- a/dlls/msxml3/docfrag.c
+++ b/dlls/msxml3/docfrag.c
@@ -366,10 +366,11 @@ static HRESULT WINAPI domfrag_get_ownerDocument(
 
 static HRESULT WINAPI domfrag_cloneNode(
     IXMLDOMDocumentFragment *iface,
-    VARIANT_BOOL pbool, IXMLDOMNode** outNode)
+    VARIANT_BOOL deep, IXMLDOMNode** outNode)
 {
     domfrag *This = impl_from_IXMLDOMDocumentFragment( iface );
-    return IXMLDOMNode_cloneNode( IXMLDOMNode_from_impl(&This->node), pbool, outNode );
+    TRACE("(%p)->(%d %p)\n", This, deep, outNode);
+    return node_clone( &This->node, deep, outNode );
 }
 
 static HRESULT WINAPI domfrag_get_nodeTypeString(
diff --git a/dlls/msxml3/domdoc.c b/dlls/msxml3/domdoc.c
index d62d02b..f301470 100644
--- a/dlls/msxml3/domdoc.c
+++ b/dlls/msxml3/domdoc.c
@@ -1174,10 +1174,11 @@ static HRESULT WINAPI domdoc_get_ownerDocument(
 static HRESULT WINAPI domdoc_cloneNode(
     IXMLDOMDocument3 *iface,
     VARIANT_BOOL deep,
-    IXMLDOMNode** cloneRoot)
+    IXMLDOMNode** outNode)
 {
     domdoc *This = impl_from_IXMLDOMDocument3( iface );
-    return IXMLDOMNode_cloneNode( IXMLDOMNode_from_impl(&This->node), deep, cloneRoot );
+    TRACE("(%p)->(%d %p)\n", This, deep, outNode);
+    return node_clone( &This->node, deep, outNode );
 }
 
 
diff --git a/dlls/msxml3/element.c b/dlls/msxml3/element.c
index d6558f0..cf8be13 100644
--- a/dlls/msxml3/element.c
+++ b/dlls/msxml3/element.c
@@ -374,10 +374,11 @@ static HRESULT WINAPI domelem_get_ownerDocument(
 
 static HRESULT WINAPI domelem_cloneNode(
     IXMLDOMElement *iface,
-    VARIANT_BOOL pbool, IXMLDOMNode** outNode)
+    VARIANT_BOOL deep, IXMLDOMNode** outNode)
 {
     domelem *This = impl_from_IXMLDOMElement( iface );
-    return IXMLDOMNode_cloneNode( IXMLDOMNode_from_impl(&This->node), pbool, outNode );
+    TRACE("(%p)->(%d %p)\n", This, deep, outNode);
+    return node_clone( &This->node, deep, outNode );
 }
 
 static HRESULT WINAPI domelem_get_nodeTypeString(
diff --git a/dlls/msxml3/entityref.c b/dlls/msxml3/entityref.c
index 501ff62..1fcbdd9 100644
--- a/dlls/msxml3/entityref.c
+++ b/dlls/msxml3/entityref.c
@@ -360,10 +360,11 @@ static HRESULT WINAPI entityref_get_ownerDocument(
 
 static HRESULT WINAPI entityref_cloneNode(
     IXMLDOMEntityReference *iface,
-    VARIANT_BOOL pbool, IXMLDOMNode** outNode)
+    VARIANT_BOOL deep, IXMLDOMNode** outNode)
 {
     entityref *This = impl_from_IXMLDOMEntityReference( iface );
-    return IXMLDOMNode_cloneNode( IXMLDOMNode_from_impl(&This->node), pbool, outNode );
+    TRACE("(%p)->(%d %p)\n", This, deep, outNode);
+    return node_clone( &This->node, deep, outNode );
 }
 
 static HRESULT WINAPI entityref_get_nodeTypeString(
diff --git a/dlls/msxml3/msxml_private.h b/dlls/msxml3/msxml_private.h
index 310b9ad..0d41eac 100644
--- a/dlls/msxml3/msxml_private.h
+++ b/dlls/msxml3/msxml_private.h
@@ -192,6 +192,7 @@ extern HRESULT node_insert_before(xmlnode*,IXMLDOMNode*,const VARIANT*,IXMLDOMNo
 extern HRESULT node_replace_child(xmlnode*,IXMLDOMNode*,IXMLDOMNode*,IXMLDOMNode**);
 extern HRESULT node_put_text(xmlnode*,BSTR);
 extern HRESULT node_get_xml(xmlnode*,BOOL,BOOL,BSTR*);
+extern HRESULT node_clone(xmlnode*,VARIANT_BOOL,IXMLDOMNode**);
 
 extern HRESULT DOMDocument_create_from_xmldoc(xmlDocPtr xmldoc, IXMLDOMDocument3 **document);
 
diff --git a/dlls/msxml3/node.c b/dlls/msxml3/node.c
index 72e6be9..e13fc4c 100644
--- a/dlls/msxml3/node.c
+++ b/dlls/msxml3/node.c
@@ -449,34 +449,27 @@ static HRESULT WINAPI xmlnode_get_ownerDocument(
     return DOMDocument_create_from_xmldoc(This->node->doc, (IXMLDOMDocument3**)DOMDocument);
 }
 
-static HRESULT WINAPI xmlnode_cloneNode(
-    IXMLDOMNode *iface,
-    VARIANT_BOOL deep,
-    IXMLDOMNode** cloneRoot)
+HRESULT node_clone(xmlnode *This, VARIANT_BOOL deep, IXMLDOMNode **cloneNode)
 {
-    xmlnode *This = impl_from_IXMLDOMNode( iface );
-    xmlNodePtr pClone = NULL;
-    IXMLDOMNode *pNode = NULL;
+    IXMLDOMNode *node;
+    xmlNodePtr clone;
 
-    TRACE("(%p)->(%d %p)\n", This, deep, cloneRoot);
+    if(!cloneNode) return E_INVALIDARG;
 
-    if(!cloneRoot)
-        return E_INVALIDARG;
-
-    pClone = xmlCopyNode(This->node, deep ? 1 : 2);
-    if(pClone)
+    clone = xmlCopyNode(This->node, deep ? 1 : 2);
+    if (clone)
     {
-        pClone->doc = This->node->doc;
-        xmldoc_add_orphan(pClone->doc, pClone);
+        clone->doc = This->node->doc;
+        xmldoc_add_orphan(clone->doc, clone);
 
-        pNode = create_node(pClone);
-        if(!pNode)
+        node = create_node(clone);
+        if (!node)
         {
             ERR("Copy failed\n");
             return E_FAIL;
         }
 
-        *cloneRoot = pNode;
+        *cloneNode = node;
     }
     else
     {
@@ -1255,7 +1248,7 @@ static const struct IXMLDOMNodeVtbl xmlnode_vtbl =
     xmlnode_appendChild,
     xmlnode_hasChildNodes,
     xmlnode_get_ownerDocument,
-    xmlnode_cloneNode,
+    NULL,
     xmlnode_get_nodeTypeString,
     xmlnode_get_text,
     NULL,
diff --git a/dlls/msxml3/pi.c b/dlls/msxml3/pi.c
index 4ba7607..5e3fd3a 100644
--- a/dlls/msxml3/pi.c
+++ b/dlls/msxml3/pi.c
@@ -376,10 +376,11 @@ static HRESULT WINAPI dom_pi_get_ownerDocument(
 
 static HRESULT WINAPI dom_pi_cloneNode(
     IXMLDOMProcessingInstruction *iface,
-    VARIANT_BOOL pbool, IXMLDOMNode** outNode)
+    VARIANT_BOOL deep, IXMLDOMNode** outNode)
 {
     dom_pi *This = impl_from_IXMLDOMProcessingInstruction( iface );
-    return IXMLDOMNode_cloneNode( IXMLDOMNode_from_impl(&This->node), pbool, outNode );
+    TRACE("(%p)->(%d %p)\n", This, deep, outNode);
+    return node_clone( &This->node, deep, outNode );
 }
 
 static HRESULT WINAPI dom_pi_get_nodeTypeString(
diff --git a/dlls/msxml3/text.c b/dlls/msxml3/text.c
index 38a44c3..a55a515 100644
--- a/dlls/msxml3/text.c
+++ b/dlls/msxml3/text.c
@@ -375,10 +375,11 @@ static HRESULT WINAPI domtext_get_ownerDocument(
 
 static HRESULT WINAPI domtext_cloneNode(
     IXMLDOMText *iface,
-    VARIANT_BOOL pbool, IXMLDOMNode** outNode)
+    VARIANT_BOOL deep, IXMLDOMNode** outNode)
 {
     domtext *This = impl_from_IXMLDOMText( iface );
-    return IXMLDOMNode_cloneNode( IXMLDOMNode_from_impl(&This->node), pbool, outNode );
+    TRACE("(%p)->(%d %p)\n", This, deep, outNode);
+    return node_clone( &This->node, deep, outNode );
 }
 
 static HRESULT WINAPI domtext_get_nodeTypeString(




More information about the wine-cvs mailing list