msxml: selectSingleNode
Huw D M Davies
h.davies1 at physics.ox.ac.uk
Tue Nov 8 07:48:05 CST 2005
Huw Davies <huw at codeweavers.com>
Implement selectSingleNode
--
Huw Davies
huw at codeweavers.com
Index: dlls/msxml3/node.c
===================================================================
RCS file: /home/wine/wine/dlls/msxml3/node.c,v
retrieving revision 1.13
diff -u -p -r1.13 node.c
--- dlls/msxml3/node.c 8 Nov 2005 12:46:43 -0000 1.13
+++ dlls/msxml3/node.c 8 Nov 2005 13:46:54 -0000
@@ -586,8 +586,19 @@ static HRESULT WINAPI xmlnode_selectSing
BSTR queryString,
IXMLDOMNode** resultNode)
{
- FIXME("\n");
- return E_NOTIMPL;
+ xmlnode *This = impl_from_IXMLDOMNode( iface );
+ IXMLDOMNodeList *list;
+ HRESULT r;
+
+ TRACE("%p %s %p\n", This, debugstr_w(queryString), resultNode );
+
+ r = IXMLDOMNode_selectNodes(iface, queryString, &list);
+ if(SUCCEEDED(r))
+ {
+ r = IXMLDOMNodeList_nextNode(list, resultNode);
+ IXMLDOMNodeList_Release(list);
+ }
+ return r;
}
static HRESULT WINAPI xmlnode_get_parsed(
Index: dlls/msxml3/tests/domdoc.c
===================================================================
RCS file: /home/wine/wine/dlls/msxml3/tests/domdoc.c,v
retrieving revision 1.7
diff -u -p -r1.7 domdoc.c
--- dlls/msxml3/tests/domdoc.c 8 Nov 2005 13:10:49 -0000 1.7
+++ dlls/msxml3/tests/domdoc.c 8 Nov 2005 13:46:54 -0000
@@ -447,6 +447,13 @@ void test_domnode( void )
else
ok( FALSE, "no element\n");
+ r = IXMLDOMNode_selectSingleNode( element, (BSTR)szdl, &node );
+ ok( r == S_FALSE, "ret %08lx\n", r );
+ r = IXMLDOMNode_selectSingleNode( element, (BSTR)szbs, &node );
+ ok( r == S_OK, "ret %08lx\n", r );
+ r = IXMLDOMNode_Release( node );
+ ok( r == 0, "ret %08lx\n", r );
+
if (list)
{
r = IXMLDOMNodeList_get_length( list, &count );
More information about the wine-patches
mailing list