[PATCH 1/4] Get rid of ::get_dataType() forward to IXMLDOMNode interface

Nikolay Sivov nsivov at codeweavers.com
Sat Oct 16 08:21:51 CDT 2010


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

diff --git a/dlls/msxml3/attribute.c b/dlls/msxml3/attribute.c
index 15c84a6..c09a9b6 100644
--- a/dlls/msxml3/attribute.c
+++ b/dlls/msxml3/attribute.c
@@ -422,10 +422,10 @@ static HRESULT WINAPI domattr_put_nodeTypedValue(
 
 static HRESULT WINAPI domattr_get_dataType(
     IXMLDOMAttribute *iface,
-    VARIANT* var1)
+    VARIANT* typename)
 {
     domattr *This = impl_from_IXMLDOMAttribute( iface );
-    return IXMLDOMNode_get_dataType( IXMLDOMNode_from_impl(&This->node), var1 );
+    return node_get_datatype( &This->node, typename );
 }
 
 static HRESULT WINAPI domattr_put_dataType(
diff --git a/dlls/msxml3/cdata.c b/dlls/msxml3/cdata.c
index b87bbe1..55e9a8f 100644
--- a/dlls/msxml3/cdata.c
+++ b/dlls/msxml3/cdata.c
@@ -433,10 +433,10 @@ static HRESULT WINAPI domcdata_put_nodeTypedValue(
 
 static HRESULT WINAPI domcdata_get_dataType(
     IXMLDOMCDATASection *iface,
-    VARIANT* var1)
+    VARIANT* typename)
 {
     domcdata *This = impl_from_IXMLDOMCDATASection( iface );
-    return IXMLDOMNode_get_dataType( IXMLDOMNode_from_impl(&This->node), var1 );
+    return node_get_datatype( &This->node, typename );
 }
 
 static HRESULT WINAPI domcdata_put_dataType(
diff --git a/dlls/msxml3/comment.c b/dlls/msxml3/comment.c
index 0f2b61a..bdfc116 100644
--- a/dlls/msxml3/comment.c
+++ b/dlls/msxml3/comment.c
@@ -426,10 +426,10 @@ static HRESULT WINAPI domcomment_put_nodeTypedValue(
 
 static HRESULT WINAPI domcomment_get_dataType(
     IXMLDOMComment *iface,
-    VARIANT* var1)
+    VARIANT* typename)
 {
     domcomment *This = impl_from_IXMLDOMComment( iface );
-    return IXMLDOMNode_get_dataType( IXMLDOMNode_from_impl(&This->node), var1 );
+    return node_get_datatype( &This->node, typename );
 }
 
 static HRESULT WINAPI domcomment_put_dataType(
diff --git a/dlls/msxml3/docfrag.c b/dlls/msxml3/docfrag.c
index 99f8e81..6b449f7 100644
--- a/dlls/msxml3/docfrag.c
+++ b/dlls/msxml3/docfrag.c
@@ -430,10 +430,10 @@ static HRESULT WINAPI domfrag_put_nodeTypedValue(
 
 static HRESULT WINAPI domfrag_get_dataType(
     IXMLDOMDocumentFragment *iface,
-    VARIANT* var1)
+    VARIANT* typename)
 {
     domfrag *This = impl_from_IXMLDOMDocumentFragment( iface );
-    return IXMLDOMNode_get_dataType( IXMLDOMNode_from_impl(&This->node), var1 );
+    return node_get_datatype( &This->node, typename );
 }
 
 static HRESULT WINAPI domfrag_put_dataType(
diff --git a/dlls/msxml3/domdoc.c b/dlls/msxml3/domdoc.c
index 781261e..196275a 100644
--- a/dlls/msxml3/domdoc.c
+++ b/dlls/msxml3/domdoc.c
@@ -1148,10 +1148,10 @@ static HRESULT WINAPI domdoc_put_nodeTypedValue(
 
 static HRESULT WINAPI domdoc_get_dataType(
     IXMLDOMDocument3 *iface,
-    VARIANT* dataTypeName )
+    VARIANT* typename )
 {
     domdoc *This = impl_from_IXMLDOMDocument3( iface );
-    return IXMLDOMNode_get_dataType( IXMLDOMNode_from_impl(&This->node), dataTypeName );
+    return node_get_datatype( &This->node, typename );
 }
 
 
diff --git a/dlls/msxml3/element.c b/dlls/msxml3/element.c
index 16651e8..9c70898 100644
--- a/dlls/msxml3/element.c
+++ b/dlls/msxml3/element.c
@@ -438,10 +438,10 @@ static HRESULT WINAPI domelem_put_nodeTypedValue(
 
 static HRESULT WINAPI domelem_get_dataType(
     IXMLDOMElement *iface,
-    VARIANT* var1)
+    VARIANT* typename)
 {
     domelem *This = impl_from_IXMLDOMElement( iface );
-    return IXMLDOMNode_get_dataType( IXMLDOMNode_from_impl(&This->node), var1 );
+    return node_get_datatype( &This->node, typename );
 }
 
 static HRESULT WINAPI domelem_put_dataType(
diff --git a/dlls/msxml3/entityref.c b/dlls/msxml3/entityref.c
index cc2aa1d..6f9a539 100644
--- a/dlls/msxml3/entityref.c
+++ b/dlls/msxml3/entityref.c
@@ -424,10 +424,10 @@ static HRESULT WINAPI entityref_put_nodeTypedValue(
 
 static HRESULT WINAPI entityref_get_dataType(
     IXMLDOMEntityReference *iface,
-    VARIANT* var1)
+    VARIANT* typename)
 {
     entityref *This = impl_from_IXMLDOMEntityReference( iface );
-    return IXMLDOMNode_get_dataType( IXMLDOMNode_from_impl(&This->node), var1 );
+    return node_get_datatype( &This->node, typename );
 }
 
 static HRESULT WINAPI entityref_put_dataType(
diff --git a/dlls/msxml3/msxml_private.h b/dlls/msxml3/msxml_private.h
index 0fa1f45..f7b22a4 100644
--- a/dlls/msxml3/msxml_private.h
+++ b/dlls/msxml3/msxml_private.h
@@ -170,7 +170,7 @@ extern HRESULT node_get_previous_sibling(xmlnode*,IXMLDOMNode**);
 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 DOMDocument_create_from_xmldoc(xmlDocPtr xmldoc, IXMLDOMDocument3 **document);
 
diff --git a/dlls/msxml3/node.c b/dlls/msxml3/node.c
index 8a92fe6..d6dff35 100644
--- a/dlls/msxml3/node.c
+++ b/dlls/msxml3/node.c
@@ -1016,35 +1016,32 @@ static HRESULT WINAPI xmlnode_put_nodeTypedValue(
     return E_NOTIMPL;
 }
 
-static HRESULT WINAPI xmlnode_get_dataType(
-    IXMLDOMNode *iface,
-    VARIANT* dataTypeName)
+HRESULT node_get_datatype(xmlnode *This, VARIANT *typename)
 {
-    xmlnode *This = impl_from_IXMLDOMNode( iface );
-    xmlChar *pVal;
-
-    TRACE("(%p)->(%p)\n", This, dataTypeName);
+    TRACE("(%p)->(%p)\n", This, typename);
 
-    if(!dataTypeName)
+    if(!typename)
         return E_INVALIDARG;
 
     /* Attribute, CDATA Section, Comment, Document, Document Fragment,
         Entity, Notation, PI, and Text Node are non-typed. */
-    V_BSTR(dataTypeName) = NULL;
-    V_VT(dataTypeName) = VT_NULL;
+    V_BSTR(typename) = NULL;
+    V_VT(typename) = VT_NULL;
 
     switch ( This->node->type )
     {
     case XML_ELEMENT_NODE:
-        pVal = xmlGetNsProp(This->node, (const xmlChar*)"dt",
-                            (const xmlChar*)"urn:schemas-microsoft-com:datatypes");
+    {
+        xmlChar *pVal = xmlGetNsProp(This->node, (const xmlChar*)"dt",
+                                    (const xmlChar*)"urn:schemas-microsoft-com:datatypes");
         if (pVal)
         {
-            V_VT(dataTypeName) = VT_BSTR;
-            V_BSTR(dataTypeName) = bstr_from_xmlChar( pVal );
+            V_VT(typename) = VT_BSTR;
+            V_BSTR(typename) = bstr_from_xmlChar( pVal );
             xmlFree(pVal);
         }
         break;
+    }
     case XML_ENTITY_REF_NODE:
         FIXME("XML_ENTITY_REF_NODE should return a valid value.\n");
         break;
@@ -1053,12 +1050,15 @@ static HRESULT WINAPI xmlnode_get_dataType(
     }
 
     /* non-typed nodes return S_FALSE */
-    if(V_VT(dataTypeName) == VT_NULL)
-    {
-        return S_FALSE;
-    }
+    return (V_VT(typename) != VT_NULL) ? S_OK : S_FALSE;
+}
 
-    return S_OK;
+static HRESULT WINAPI xmlnode_get_dataType(
+    IXMLDOMNode *iface,
+    VARIANT* dataTypeName)
+{
+    ERR("Should not be called\n");
+    return E_NOTIMPL;
 }
 
 static HRESULT WINAPI xmlnode_put_dataType(
diff --git a/dlls/msxml3/pi.c b/dlls/msxml3/pi.c
index 2d33d80..feee759 100644
--- a/dlls/msxml3/pi.c
+++ b/dlls/msxml3/pi.c
@@ -440,10 +440,10 @@ static HRESULT WINAPI dom_pi_put_nodeTypedValue(
 
 static HRESULT WINAPI dom_pi_get_dataType(
     IXMLDOMProcessingInstruction *iface,
-    VARIANT* var1)
+    VARIANT* typename)
 {
     dom_pi *This = impl_from_IXMLDOMProcessingInstruction( iface );
-    return IXMLDOMNode_get_dataType( IXMLDOMNode_from_impl(&This->node), var1 );
+    return node_get_datatype( &This->node, typename );
 }
 
 static HRESULT WINAPI dom_pi_put_dataType(
diff --git a/dlls/msxml3/text.c b/dlls/msxml3/text.c
index be61376..2fa180f 100644
--- a/dlls/msxml3/text.c
+++ b/dlls/msxml3/text.c
@@ -439,10 +439,10 @@ static HRESULT WINAPI domtext_put_nodeTypedValue(
 
 static HRESULT WINAPI domtext_get_dataType(
     IXMLDOMText *iface,
-    VARIANT* var1)
+    VARIANT* typename)
 {
     domtext *This = impl_from_IXMLDOMText( iface );
-    return IXMLDOMNode_get_dataType( IXMLDOMNode_from_impl(&This->node), var1 );
+    return node_get_datatype( &This->node, typename );
 }
 
 static HRESULT WINAPI domtext_put_dataType(
-- 
1.5.6.5



--------------040101010200060305010909--



More information about the wine-patches mailing list