[PATCH 2/4] Get rid of ::put_text() forward to IXMLDOMNode interface

Nikolay Sivov nsivov at codeweavers.com
Sat Oct 16 09:31:48 CDT 2010


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

diff --git a/dlls/msxml3/attribute.c b/dlls/msxml3/attribute.c
index c09a9b6..da3f78d 100644
--- a/dlls/msxml3/attribute.c
+++ b/dlls/msxml3/attribute.c
@@ -385,7 +385,7 @@ static HRESULT WINAPI domattr_put_text(
     BSTR p)
 {
     domattr *This = impl_from_IXMLDOMAttribute( iface );
-    return IXMLDOMNode_put_text( IXMLDOMNode_from_impl(&This->node), p );
+    return node_put_text( &This->node, p );
 }
 
 static HRESULT WINAPI domattr_get_specified(
diff --git a/dlls/msxml3/cdata.c b/dlls/msxml3/cdata.c
index 55e9a8f..193fc8a 100644
--- a/dlls/msxml3/cdata.c
+++ b/dlls/msxml3/cdata.c
@@ -396,7 +396,7 @@ static HRESULT WINAPI domcdata_put_text(
     BSTR p)
 {
     domcdata *This = impl_from_IXMLDOMCDATASection( iface );
-    return IXMLDOMNode_put_text( IXMLDOMNode_from_impl(&This->node), p );
+    return node_put_text( &This->node, p );
 }
 
 static HRESULT WINAPI domcdata_get_specified(
diff --git a/dlls/msxml3/comment.c b/dlls/msxml3/comment.c
index bdfc116..2d669bc 100644
--- a/dlls/msxml3/comment.c
+++ b/dlls/msxml3/comment.c
@@ -389,7 +389,7 @@ static HRESULT WINAPI domcomment_put_text(
     BSTR p)
 {
     domcomment *This = impl_from_IXMLDOMComment( iface );
-    return IXMLDOMNode_put_text( IXMLDOMNode_from_impl(&This->node), p );
+    return node_put_text( &This->node, p );
 }
 
 static HRESULT WINAPI domcomment_get_specified(
diff --git a/dlls/msxml3/docfrag.c b/dlls/msxml3/docfrag.c
index 6b449f7..e91486e 100644
--- a/dlls/msxml3/docfrag.c
+++ b/dlls/msxml3/docfrag.c
@@ -393,7 +393,7 @@ static HRESULT WINAPI domfrag_put_text(
     BSTR p)
 {
     domfrag *This = impl_from_IXMLDOMDocumentFragment( iface );
-    return IXMLDOMNode_put_text( IXMLDOMNode_from_impl(&This->node), p );
+    return node_put_text( &This->node, p );
 }
 
 static HRESULT WINAPI domfrag_get_specified(
diff --git a/dlls/msxml3/domdoc.c b/dlls/msxml3/domdoc.c
index 196275a..0329fac 100644
--- a/dlls/msxml3/domdoc.c
+++ b/dlls/msxml3/domdoc.c
@@ -1107,7 +1107,8 @@ static HRESULT WINAPI domdoc_put_text(
     BSTR text )
 {
     domdoc *This = impl_from_IXMLDOMDocument3( iface );
-    return IXMLDOMNode_put_text( IXMLDOMNode_from_impl(&This->node), text );
+    TRACE("(%p)->(%s)\n", This, debugstr_w(text));
+    return E_FAIL;
 }
 
 
diff --git a/dlls/msxml3/element.c b/dlls/msxml3/element.c
index 9c70898..ed4e273 100644
--- a/dlls/msxml3/element.c
+++ b/dlls/msxml3/element.c
@@ -401,7 +401,7 @@ static HRESULT WINAPI domelem_put_text(
     BSTR p)
 {
     domelem *This = impl_from_IXMLDOMElement( iface );
-    return IXMLDOMNode_put_text( IXMLDOMNode_from_impl(&This->node), p );
+    return node_put_text( &This->node, p );
 }
 
 static HRESULT WINAPI domelem_get_specified(
diff --git a/dlls/msxml3/entityref.c b/dlls/msxml3/entityref.c
index 6f9a539..0b23363 100644
--- a/dlls/msxml3/entityref.c
+++ b/dlls/msxml3/entityref.c
@@ -387,7 +387,7 @@ static HRESULT WINAPI entityref_put_text(
     BSTR p)
 {
     entityref *This = impl_from_IXMLDOMEntityReference( iface );
-    return IXMLDOMNode_put_text( IXMLDOMNode_from_impl(&This->node), p );
+    return node_put_text( &This->node, p );
 }
 
 static HRESULT WINAPI entityref_get_specified(
diff --git a/dlls/msxml3/msxml_private.h b/dlls/msxml3/msxml_private.h
index f7b22a4..10e8376 100644
--- a/dlls/msxml3/msxml_private.h
+++ b/dlls/msxml3/msxml_private.h
@@ -171,6 +171,7 @@ extern HRESULT node_get_next_sibling(xmlnode*,IXMLDOMNode**);
 extern HRESULT node_insert_before(xmlnode*,IXMLDOMNode*,const VARIANT*,IXMLDOMNode**);
 extern HRESULT node_replace_child(xmlnode*,IXMLDOMNode*,IXMLDOMNode*,IXMLDOMNode**);
 extern HRESULT node_get_datatype(xmlnode*,VARIANT*);
+extern HRESULT node_put_text(xmlnode*,BSTR);
 
 extern HRESULT DOMDocument_create_from_xmldoc(xmlDocPtr xmldoc, IXMLDOMDocument3 **document);
 
diff --git a/dlls/msxml3/node.c b/dlls/msxml3/node.c
index d6dff35..375b9ef 100644
--- a/dlls/msxml3/node.c
+++ b/dlls/msxml3/node.c
@@ -745,23 +745,12 @@ static HRESULT WINAPI xmlnode_get_text(
     return S_OK;
 }
 
-static HRESULT WINAPI xmlnode_put_text(
-    IXMLDOMNode *iface,
-    BSTR text)
+HRESULT node_put_text(xmlnode *This, BSTR text)
 {
-    xmlnode *This = impl_from_IXMLDOMNode( iface );
     xmlChar *str, *str2;
 
     TRACE("(%p)->(%s)\n", This, debugstr_w(text));
 
-    switch(This->node->type)
-    {
-    case XML_DOCUMENT_NODE:
-        return E_FAIL;
-    default:
-        break;
-    }
-
     str = xmlChar_from_wchar(text);
 
     /* Escape the string. */
@@ -774,6 +763,14 @@ static HRESULT WINAPI xmlnode_put_text(
     return S_OK;
 }
 
+static HRESULT WINAPI xmlnode_put_text(
+    IXMLDOMNode *iface,
+    BSTR text)
+{
+    ERR("Should not be called\n");
+    return E_NOTIMPL;
+}
+
 static HRESULT WINAPI xmlnode_get_specified(
     IXMLDOMNode *iface,
     VARIANT_BOOL* isSpecified)
diff --git a/dlls/msxml3/pi.c b/dlls/msxml3/pi.c
index feee759..671370b 100644
--- a/dlls/msxml3/pi.c
+++ b/dlls/msxml3/pi.c
@@ -403,7 +403,7 @@ static HRESULT WINAPI dom_pi_put_text(
     BSTR p)
 {
     dom_pi *This = impl_from_IXMLDOMProcessingInstruction( iface );
-    return IXMLDOMNode_put_text( IXMLDOMNode_from_impl(&This->node), p );
+    return node_put_text( &This->node, p );
 }
 
 static HRESULT WINAPI dom_pi_get_specified(
diff --git a/dlls/msxml3/text.c b/dlls/msxml3/text.c
index 2fa180f..5929172 100644
--- a/dlls/msxml3/text.c
+++ b/dlls/msxml3/text.c
@@ -402,7 +402,7 @@ static HRESULT WINAPI domtext_put_text(
     BSTR p)
 {
     domtext *This = impl_from_IXMLDOMText( iface );
-    return IXMLDOMNode_put_text( IXMLDOMNode_from_impl(&This->node), p );
+    return node_put_text( &This->node, p );
 }
 
 static HRESULT WINAPI domtext_get_specified(
-- 
1.5.6.5



--------------020004040307000703080601--



More information about the wine-patches mailing list