[PATCH 1/5] Remove froward to removeChild() method for nodes

Nikolay Sivov nsivov at codeweavers.com
Tue Feb 22 17:39:29 CST 2011


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

diff --git a/dlls/msxml3/attribute.c b/dlls/msxml3/attribute.c
index 9705cb8..7c49981 100644
--- a/dlls/msxml3/attribute.c
+++ b/dlls/msxml3/attribute.c
@@ -326,10 +326,11 @@ static HRESULT WINAPI domattr_replaceChild(
 
 static HRESULT WINAPI domattr_removeChild(
     IXMLDOMAttribute *iface,
-    IXMLDOMNode* domNode, IXMLDOMNode** oldNode)
+    IXMLDOMNode *child, IXMLDOMNode **oldChild)
 {
     domattr *This = impl_from_IXMLDOMAttribute( iface );
-    return IXMLDOMNode_removeChild( &This->node.IXMLDOMNode_iface, domNode, oldNode );
+    TRACE("(%p)->(%p %p)\n", This, child, oldChild);
+    return node_remove_child(&This->node, child, oldChild);
 }
 
 static HRESULT WINAPI domattr_appendChild(
diff --git a/dlls/msxml3/cdata.c b/dlls/msxml3/cdata.c
index eb10d6f..22a75b8 100644
--- a/dlls/msxml3/cdata.c
+++ b/dlls/msxml3/cdata.c
@@ -337,10 +337,11 @@ static HRESULT WINAPI domcdata_replaceChild(
 
 static HRESULT WINAPI domcdata_removeChild(
     IXMLDOMCDATASection *iface,
-    IXMLDOMNode* domNode, IXMLDOMNode** oldNode)
+    IXMLDOMNode *child, IXMLDOMNode **oldChild)
 {
     domcdata *This = impl_from_IXMLDOMCDATASection( iface );
-    return IXMLDOMNode_removeChild( &This->node.IXMLDOMNode_iface, domNode, oldNode );
+    TRACE("(%p)->(%p %p)\n", This, child, oldChild);
+    return node_remove_child(&This->node, child, oldChild);
 }
 
 static HRESULT WINAPI domcdata_appendChild(
diff --git a/dlls/msxml3/comment.c b/dlls/msxml3/comment.c
index 3b24c14..f4dbbf8 100644
--- a/dlls/msxml3/comment.c
+++ b/dlls/msxml3/comment.c
@@ -330,10 +330,11 @@ static HRESULT WINAPI domcomment_replaceChild(
 
 static HRESULT WINAPI domcomment_removeChild(
     IXMLDOMComment *iface,
-    IXMLDOMNode* domNode, IXMLDOMNode** oldNode)
+    IXMLDOMNode *child, IXMLDOMNode **oldChild)
 {
     domcomment *This = impl_from_IXMLDOMComment( iface );
-    return IXMLDOMNode_removeChild( &This->node.IXMLDOMNode_iface, domNode, oldNode );
+    TRACE("(%p)->(%p %p)\n", This, child, oldChild);
+    return node_remove_child(&This->node, child, oldChild);
 }
 
 static HRESULT WINAPI domcomment_appendChild(
diff --git a/dlls/msxml3/docfrag.c b/dlls/msxml3/docfrag.c
index 5abf8b3..8c72ec2 100644
--- a/dlls/msxml3/docfrag.c
+++ b/dlls/msxml3/docfrag.c
@@ -334,10 +334,11 @@ static HRESULT WINAPI domfrag_replaceChild(
 
 static HRESULT WINAPI domfrag_removeChild(
     IXMLDOMDocumentFragment *iface,
-    IXMLDOMNode* domNode, IXMLDOMNode** oldNode)
+    IXMLDOMNode *child, IXMLDOMNode **oldChild)
 {
     domfrag *This = impl_from_IXMLDOMDocumentFragment( iface );
-    return IXMLDOMNode_removeChild( &This->node.IXMLDOMNode_iface, domNode, oldNode );
+    TRACE("(%p)->(%p %p)\n", This, child, oldChild);
+    return node_remove_child(&This->node, child, oldChild);
 }
 
 static HRESULT WINAPI domfrag_appendChild(
diff --git a/dlls/msxml3/domdoc.c b/dlls/msxml3/domdoc.c
index 417b988..5b29854 100644
--- a/dlls/msxml3/domdoc.c
+++ b/dlls/msxml3/domdoc.c
@@ -1217,11 +1217,12 @@ static HRESULT WINAPI domdoc_replaceChild(
 
 static HRESULT WINAPI domdoc_removeChild(
     IXMLDOMDocument3 *iface,
-    IXMLDOMNode* childNode,
-    IXMLDOMNode** oldChild)
+    IXMLDOMNode  *child,
+    IXMLDOMNode **oldChild)
 {
     domdoc *This = impl_from_IXMLDOMDocument3( iface );
-    return IXMLDOMNode_removeChild( &This->node.IXMLDOMNode_iface, childNode, oldChild );
+    TRACE("(%p)->(%p %p)\n", This, child, oldChild);
+    return node_remove_child(&This->node, child, oldChild);
 }
 
 
diff --git a/dlls/msxml3/element.c b/dlls/msxml3/element.c
index c4c130d..b80f0f6 100644
--- a/dlls/msxml3/element.c
+++ b/dlls/msxml3/element.c
@@ -345,10 +345,11 @@ static HRESULT WINAPI domelem_replaceChild(
 
 static HRESULT WINAPI domelem_removeChild(
     IXMLDOMElement *iface,
-    IXMLDOMNode* domNode, IXMLDOMNode** oldNode)
+    IXMLDOMNode *child, IXMLDOMNode **oldChild)
 {
     domelem *This = impl_from_IXMLDOMElement( iface );
-    return IXMLDOMNode_removeChild( &This->node.IXMLDOMNode_iface, domNode, oldNode );
+    TRACE("(%p)->(%p %p)\n", This, child, oldChild);
+    return node_remove_child(&This->node, child, oldChild);
 }
 
 static HRESULT WINAPI domelem_appendChild(
diff --git a/dlls/msxml3/entityref.c b/dlls/msxml3/entityref.c
index 9af5aa9..37cfad0 100644
--- a/dlls/msxml3/entityref.c
+++ b/dlls/msxml3/entityref.c
@@ -328,10 +328,11 @@ static HRESULT WINAPI entityref_replaceChild(
 
 static HRESULT WINAPI entityref_removeChild(
     IXMLDOMEntityReference *iface,
-    IXMLDOMNode* domNode, IXMLDOMNode** oldNode)
+    IXMLDOMNode *child, IXMLDOMNode **oldChild)
 {
     entityref *This = impl_from_IXMLDOMEntityReference( iface );
-    return IXMLDOMNode_removeChild( &This->node.IXMLDOMNode_iface, domNode, oldNode );
+    TRACE("(%p)->(%p %p)\n", This, child, oldChild);
+    return node_remove_child(&This->node, child, oldChild);
 }
 
 static HRESULT WINAPI entityref_appendChild(
diff --git a/dlls/msxml3/msxml_private.h b/dlls/msxml3/msxml_private.h
index 8d9d8dd..e4fda20 100644
--- a/dlls/msxml3/msxml_private.h
+++ b/dlls/msxml3/msxml_private.h
@@ -271,6 +271,7 @@ extern HRESULT node_clone(xmlnode*,VARIANT_BOOL,IXMLDOMNode**);
 extern HRESULT node_get_prefix(xmlnode*,BSTR*);
 extern HRESULT node_get_base_name(xmlnode*,BSTR*);
 extern HRESULT node_get_namespaceURI(xmlnode*,BSTR*);
+extern HRESULT node_remove_child(xmlnode*,IXMLDOMNode*,IXMLDOMNode**);
 
 extern HRESULT DOMDocument_create_from_xmldoc(xmlDocPtr xmldoc, IXMLDOMDocument3 **document);
 extern HRESULT SchemaCache_validate_tree(IXMLDOMSchemaCollection2* iface, xmlNodePtr tree);
diff --git a/dlls/msxml3/node.c b/dlls/msxml3/node.c
index fd1cf97..c66e2c1 100644
--- a/dlls/msxml3/node.c
+++ b/dlls/msxml3/node.c
@@ -401,22 +401,16 @@ HRESULT node_replace_child(xmlnode *This, IXMLDOMNode *newChild, IXMLDOMNode *ol
     return S_OK;
 }
 
-static HRESULT WINAPI xmlnode_removeChild(
-    IXMLDOMNode *iface,
-    IXMLDOMNode* childNode,
-    IXMLDOMNode** oldChild)
+HRESULT node_remove_child(xmlnode *This, IXMLDOMNode* child, IXMLDOMNode** oldChild)
 {
-    xmlnode *This = impl_from_IXMLDOMNode( iface );
     xmlnode *child_node;
 
-    TRACE("(%p)->(%p %p)\n", This, childNode, oldChild);
-
-    if(!childNode) return E_INVALIDARG;
+    if(!child) return E_INVALIDARG;
 
     if(oldChild)
         *oldChild = NULL;
 
-    child_node = get_node_obj(childNode);
+    child_node = get_node_obj(child);
     if(!child_node) {
         FIXME("childNode is not our node implementation\n");
         return E_FAIL;
@@ -424,7 +418,7 @@ static HRESULT WINAPI xmlnode_removeChild(
 
     if(child_node->node->parent != This->node)
     {
-        WARN("childNode %p is not a child of %p\n", childNode, iface);
+        WARN("childNode %p is not a child of %p\n", child, This);
         return E_INVALIDARG;
     }
 
@@ -432,8 +426,8 @@ static HRESULT WINAPI xmlnode_removeChild(
 
     if(oldChild)
     {
-        IXMLDOMNode_AddRef(childNode);
-        *oldChild = childNode;
+        IXMLDOMNode_AddRef(child);
+        *oldChild = child;
     }
 
     return S_OK;
@@ -1152,7 +1146,7 @@ static const struct IXMLDOMNodeVtbl xmlnode_vtbl =
     NULL,
     NULL,
     NULL,
-    xmlnode_removeChild,
+    NULL,
     xmlnode_appendChild,
     xmlnode_hasChildNodes,
     xmlnode_get_ownerDocument,
diff --git a/dlls/msxml3/pi.c b/dlls/msxml3/pi.c
index 5a1bdba..07ab0d0 100644
--- a/dlls/msxml3/pi.c
+++ b/dlls/msxml3/pi.c
@@ -344,10 +344,11 @@ static HRESULT WINAPI dom_pi_replaceChild(
 
 static HRESULT WINAPI dom_pi_removeChild(
     IXMLDOMProcessingInstruction *iface,
-    IXMLDOMNode* domNode, IXMLDOMNode** oldNode)
+    IXMLDOMNode *child, IXMLDOMNode **oldChild)
 {
     dom_pi *This = impl_from_IXMLDOMProcessingInstruction( iface );
-    return IXMLDOMNode_removeChild( &This->node.IXMLDOMNode_iface, domNode, oldNode );
+    TRACE("(%p)->(%p %p)\n", This, child, oldChild);
+    return node_remove_child(&This->node, child, oldChild);
 }
 
 static HRESULT WINAPI dom_pi_appendChild(
diff --git a/dlls/msxml3/text.c b/dlls/msxml3/text.c
index 55fd235..1b3b7ae 100644
--- a/dlls/msxml3/text.c
+++ b/dlls/msxml3/text.c
@@ -343,10 +343,11 @@ static HRESULT WINAPI domtext_replaceChild(
 
 static HRESULT WINAPI domtext_removeChild(
     IXMLDOMText *iface,
-    IXMLDOMNode* domNode, IXMLDOMNode** oldNode)
+    IXMLDOMNode *child, IXMLDOMNode **oldChild)
 {
     domtext *This = impl_from_IXMLDOMText( iface );
-    return IXMLDOMNode_removeChild( &This->node.IXMLDOMNode_iface, domNode, oldNode );
+    TRACE("(%p)->(%p %p)\n", This, child, oldChild);
+    return node_remove_child(&This->node, child, oldChild);
 }
 
 static HRESULT WINAPI domtext_appendChild(
-- 
1.5.6.5



--------------080308020706020909000304--



More information about the wine-patches mailing list