Jacek Caban : msxml3: Don't forward get_nodeTypedValue to node' s IXMLDOMNode iface.

Alexandre Julliard julliard at winehq.org
Mon Jan 10 10:55:18 CST 2011


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

Author: Jacek Caban <jacek at codeweavers.com>
Date:   Sun Jan  9 21:42:37 2011 +0100

msxml3: Don't forward get_nodeTypedValue to node's IXMLDOMNode iface.

Its current implementation for XML_ENTITY_REF_NODE can't work and will 
always return VT_NULL variant anyways.

---

 dlls/msxml3/attribute.c |    3 ++-
 dlls/msxml3/cdata.c     |    3 ++-
 dlls/msxml3/comment.c   |    3 ++-
 dlls/msxml3/docfrag.c   |    3 ++-
 dlls/msxml3/domdoc.c    |    3 ++-
 dlls/msxml3/entityref.c |    3 ++-
 dlls/msxml3/node.c      |   42 +++---------------------------------------
 dlls/msxml3/pi.c        |    3 ++-
 8 files changed, 17 insertions(+), 46 deletions(-)

diff --git a/dlls/msxml3/attribute.c b/dlls/msxml3/attribute.c
index 4163831..a6fa1c3 100644
--- a/dlls/msxml3/attribute.c
+++ b/dlls/msxml3/attribute.c
@@ -418,7 +418,8 @@ static HRESULT WINAPI domattr_get_nodeTypedValue(
     VARIANT* var1)
 {
     domattr *This = impl_from_IXMLDOMAttribute( iface );
-    return IXMLDOMNode_get_nodeTypedValue( IXMLDOMNode_from_impl(&This->node), var1 );
+    FIXME("(%p)->(%p)\n", This, var1);
+    return return_null_var(var1);
 }
 
 static HRESULT WINAPI domattr_put_nodeTypedValue(
diff --git a/dlls/msxml3/cdata.c b/dlls/msxml3/cdata.c
index 041bc06..e5c6641 100644
--- a/dlls/msxml3/cdata.c
+++ b/dlls/msxml3/cdata.c
@@ -429,7 +429,8 @@ static HRESULT WINAPI domcdata_get_nodeTypedValue(
     VARIANT* var1)
 {
     domcdata *This = impl_from_IXMLDOMCDATASection( iface );
-    return IXMLDOMNode_get_nodeTypedValue( IXMLDOMNode_from_impl(&This->node), var1 );
+    FIXME("(%p)->(%p)\n", This, var1);
+    return return_null_var(var1);
 }
 
 static HRESULT WINAPI domcdata_put_nodeTypedValue(
diff --git a/dlls/msxml3/comment.c b/dlls/msxml3/comment.c
index 62fd7f2..a5d76c5 100644
--- a/dlls/msxml3/comment.c
+++ b/dlls/msxml3/comment.c
@@ -422,7 +422,8 @@ static HRESULT WINAPI domcomment_get_nodeTypedValue(
     VARIANT* var1)
 {
     domcomment *This = impl_from_IXMLDOMComment( iface );
-    return IXMLDOMNode_get_nodeTypedValue( IXMLDOMNode_from_impl(&This->node), var1 );
+    FIXME("(%p)->(%p)\n", This, var1);
+    return return_null_var(var1);
 }
 
 static HRESULT WINAPI domcomment_put_nodeTypedValue(
diff --git a/dlls/msxml3/docfrag.c b/dlls/msxml3/docfrag.c
index 7ac3d4b..a43d132 100644
--- a/dlls/msxml3/docfrag.c
+++ b/dlls/msxml3/docfrag.c
@@ -426,7 +426,8 @@ static HRESULT WINAPI domfrag_get_nodeTypedValue(
     VARIANT* var1)
 {
     domfrag *This = impl_from_IXMLDOMDocumentFragment( iface );
-    return IXMLDOMNode_get_nodeTypedValue( IXMLDOMNode_from_impl(&This->node), var1 );
+    FIXME("(%p)->(%p)\n", This, var1);
+    return return_null_var(var1);
 }
 
 static HRESULT WINAPI domfrag_put_nodeTypedValue(
diff --git a/dlls/msxml3/domdoc.c b/dlls/msxml3/domdoc.c
index 6b1508c..3ea85b3 100644
--- a/dlls/msxml3/domdoc.c
+++ b/dlls/msxml3/domdoc.c
@@ -1280,7 +1280,8 @@ static HRESULT WINAPI domdoc_get_nodeTypedValue(
     VARIANT* typedValue )
 {
     domdoc *This = impl_from_IXMLDOMDocument3( iface );
-    return IXMLDOMNode_get_nodeTypedValue( IXMLDOMNode_from_impl(&This->node), typedValue );
+    FIXME("(%p)->(%p)\n", This, typedValue);
+    return return_null_var(typedValue);
 }
 
 static HRESULT WINAPI domdoc_put_nodeTypedValue(
diff --git a/dlls/msxml3/entityref.c b/dlls/msxml3/entityref.c
index 5cf6fb3..6b1ce2e 100644
--- a/dlls/msxml3/entityref.c
+++ b/dlls/msxml3/entityref.c
@@ -420,7 +420,8 @@ static HRESULT WINAPI entityref_get_nodeTypedValue(
     VARIANT* var1)
 {
     entityref *This = impl_from_IXMLDOMEntityReference( iface );
-    return IXMLDOMNode_get_nodeTypedValue( IXMLDOMNode_from_impl(&This->node), var1 );
+    FIXME("(%p)->(%p)\n", This, var1);
+    return return_null_var(var1);
 }
 
 static HRESULT WINAPI entityref_put_nodeTypedValue(
diff --git a/dlls/msxml3/node.c b/dlls/msxml3/node.c
index 2af136e..8e90029 100644
--- a/dlls/msxml3/node.c
+++ b/dlls/msxml3/node.c
@@ -836,43 +836,6 @@ static inline HRESULT VARIANT_from_xmlChar(xmlChar *str, VARIANT *v, BSTR type)
     return S_OK;
 }
 
-static HRESULT WINAPI xmlnode_get_nodeTypedValue(
-    IXMLDOMNode *iface,
-    VARIANT* typedValue)
-{
-    xmlnode *This = impl_from_IXMLDOMNode( iface );
-    VARIANT type;
-    xmlChar *content;
-    HRESULT hres = S_FALSE;
-
-    TRACE("(%p)->(%p)\n", This, typedValue);
-
-    if(!typedValue)
-        return E_INVALIDARG;
-
-    V_VT(typedValue) = VT_NULL;
-
-    if (This->node->type == XML_ENTITY_REF_NODE)
-    {
-        VariantInit(&type);
-        hres = IXMLDOMNode_get_dataType(This->iface, &type);
-
-        if(hres != S_OK)
-            return IXMLDOMNode_get_nodeValue(This->iface, typedValue);
-
-        content = xmlNodeGetContent(This->node);
-        hres = VARIANT_from_xmlChar(content, typedValue, hres==S_OK ? V_BSTR(&type) : NULL);
-        VariantClear(&type);
-        xmlFree(content);
-    }
-    else
-    {
-        FIXME("need to handle node type %i\n", This->node->type);
-    }
-
-    return hres;
-}
-
 BSTR EnsureCorrectEOL(BSTR sInput)
 {
     int nNum = 0;
@@ -1204,7 +1167,7 @@ static const struct IXMLDOMNodeVtbl xmlnode_vtbl =
     NULL,
     NULL,
     NULL,
-    xmlnode_get_nodeTypedValue,
+    NULL,
     NULL,
     NULL,
     NULL,
@@ -1624,7 +1587,8 @@ static HRESULT WINAPI unknode_get_nodeTypedValue(
     VARIANT* var1)
 {
     unknode *This = impl_from_unkIXMLDOMNode( iface );
-    return IXMLDOMNode_get_nodeTypedValue( IXMLDOMNode_from_impl(&This->node), var1 );
+    FIXME("(%p)->(%p)\n", This, var1);
+    return return_null_var(var1);
 }
 
 static HRESULT WINAPI unknode_put_nodeTypedValue(
diff --git a/dlls/msxml3/pi.c b/dlls/msxml3/pi.c
index b249418..6018093 100644
--- a/dlls/msxml3/pi.c
+++ b/dlls/msxml3/pi.c
@@ -437,7 +437,8 @@ static HRESULT WINAPI dom_pi_get_nodeTypedValue(
     VARIANT* var1)
 {
     dom_pi *This = impl_from_IXMLDOMProcessingInstruction( iface );
-    return IXMLDOMNode_get_nodeTypedValue( IXMLDOMNode_from_impl(&This->node), var1 );
+    FIXME("(%p)->(%p)\n", This, var1);
+    return return_null_var(var1);
 }
 
 static HRESULT WINAPI dom_pi_put_nodeTypedValue(




More information about the wine-cvs mailing list