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.
This commit is contained in:
Jacek Caban 2011-01-09 21:42:37 +01:00 committed by Alexandre Julliard
parent 0abef30926
commit 730fa1e7f2
8 changed files with 17 additions and 46 deletions

View File

@ -418,7 +418,8 @@ static HRESULT WINAPI domattr_get_nodeTypedValue(
VARIANT* var1) VARIANT* var1)
{ {
domattr *This = impl_from_IXMLDOMAttribute( iface ); 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( static HRESULT WINAPI domattr_put_nodeTypedValue(

View File

@ -429,7 +429,8 @@ static HRESULT WINAPI domcdata_get_nodeTypedValue(
VARIANT* var1) VARIANT* var1)
{ {
domcdata *This = impl_from_IXMLDOMCDATASection( iface ); 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( static HRESULT WINAPI domcdata_put_nodeTypedValue(

View File

@ -422,7 +422,8 @@ static HRESULT WINAPI domcomment_get_nodeTypedValue(
VARIANT* var1) VARIANT* var1)
{ {
domcomment *This = impl_from_IXMLDOMComment( iface ); 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( static HRESULT WINAPI domcomment_put_nodeTypedValue(

View File

@ -426,7 +426,8 @@ static HRESULT WINAPI domfrag_get_nodeTypedValue(
VARIANT* var1) VARIANT* var1)
{ {
domfrag *This = impl_from_IXMLDOMDocumentFragment( iface ); 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( static HRESULT WINAPI domfrag_put_nodeTypedValue(

View File

@ -1280,7 +1280,8 @@ static HRESULT WINAPI domdoc_get_nodeTypedValue(
VARIANT* typedValue ) VARIANT* typedValue )
{ {
domdoc *This = impl_from_IXMLDOMDocument3( iface ); 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( static HRESULT WINAPI domdoc_put_nodeTypedValue(

View File

@ -420,7 +420,8 @@ static HRESULT WINAPI entityref_get_nodeTypedValue(
VARIANT* var1) VARIANT* var1)
{ {
entityref *This = impl_from_IXMLDOMEntityReference( iface ); 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( static HRESULT WINAPI entityref_put_nodeTypedValue(

View File

@ -836,43 +836,6 @@ static inline HRESULT VARIANT_from_xmlChar(xmlChar *str, VARIANT *v, BSTR type)
return S_OK; 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) BSTR EnsureCorrectEOL(BSTR sInput)
{ {
int nNum = 0; int nNum = 0;
@ -1204,7 +1167,7 @@ static const struct IXMLDOMNodeVtbl xmlnode_vtbl =
NULL, NULL,
NULL, NULL,
NULL, NULL,
xmlnode_get_nodeTypedValue, NULL,
NULL, NULL,
NULL, NULL,
NULL, NULL,
@ -1624,7 +1587,8 @@ static HRESULT WINAPI unknode_get_nodeTypedValue(
VARIANT* var1) VARIANT* var1)
{ {
unknode *This = impl_from_unkIXMLDOMNode( iface ); 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( static HRESULT WINAPI unknode_put_nodeTypedValue(

View File

@ -437,7 +437,8 @@ static HRESULT WINAPI dom_pi_get_nodeTypedValue(
VARIANT* var1) VARIANT* var1)
{ {
dom_pi *This = impl_from_IXMLDOMProcessingInstruction( iface ); 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( static HRESULT WINAPI dom_pi_put_nodeTypedValue(