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:
parent
0abef30926
commit
730fa1e7f2
|
@ -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(
|
||||||
|
|
|
@ -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(
|
||||||
|
|
|
@ -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(
|
||||||
|
|
|
@ -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(
|
||||||
|
|
|
@ -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(
|
||||||
|
|
|
@ -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(
|
||||||
|
|
|
@ -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(
|
||||||
|
|
|
@ -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(
|
||||||
|
|
Loading…
Reference in New Issue