From 936d4cf91101ffd66468de714e986d89c4d8e8ab Mon Sep 17 00:00:00 2001 From: Nikolay Sivov Date: Sun, 31 Oct 2010 11:50:58 +0300 Subject: [PATCH] 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 c63cf6ee277..c545a765494 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 c346f1bd461..59898d487f2 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 9f8c0e32172..7358bd57903 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 ccc67447b2f..36d3cac10dd 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 d62d02b0517..f301470a094 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 d6558f0f156..cf8be137096 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 501ff62af23..1fcbdd9b008 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 310b9ad1c32..0d41eacd0ff 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 72e6be95e26..e13fc4c7eec 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 4ba76076ce5..5e3fd3a300b 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 38a44c3becd..a55a5152c12 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( -- 2.11.4.GIT