msxml3[3/3]: implement IXMLDOMElement::getElementsByTagName (fixes
bug #6761)
Mikołaj Zalewski
mikolaj at zalewski.pl
Fri May 18 09:50:16 CDT 2007
The imlpementation is nearly the same as
IXMLDOMDocument::getElementsByTagName
-------------- next part --------------
From 656a43a78ffe0f8e04bc4819cf6a916f828dfcb0 Mon Sep 17 00:00:00 2001
From: =?utf-8?q?Miko=C5=82aj_Zalewski?= <mikolaj at zalewski.pl>
Date: Sat, 12 May 2007 10:09:10 +0200
Subject: [PATCH] msxml3: implement IXMLDOMElement::getElementsByTagName (fixes bug #6761)
---
dlls/msxml3/element.c | 20 +++++++++++++++++---
1 files changed, 17 insertions(+), 3 deletions(-)
diff --git a/dlls/msxml3/element.c b/dlls/msxml3/element.c
index 7997b2f..f90c9e8 100644
--- a/dlls/msxml3/element.c
+++ b/dlls/msxml3/element.c
@@ -555,10 +555,24 @@ static HRESULT WINAPI domelem_removeAttributeNode(
static HRESULT WINAPI domelem_getElementsByTagName(
IXMLDOMElement *iface,
- BSTR p, IXMLDOMNodeList** resultList)
+ BSTR bstrName, IXMLDOMNodeList** resultList)
{
- FIXME("\n");
- return E_NOTIMPL;
+ domelem *This = impl_from_IXMLDOMElement( iface );
+ LPWSTR szPattern;
+ HRESULT hr;
+
+ TRACE("(%p)->(%s,%p)\n", This, debugstr_w(bstrName), resultList);
+
+ szPattern = HeapAlloc(GetProcessHeap(), 0, sizeof(WCHAR)*(3+lstrlenW(bstrName)+1));
+ szPattern[0] = '.';
+ szPattern[1] = szPattern[2] = '/';
+ lstrcpyW(szPattern+3, bstrName);
+ TRACE("%s\n", debugstr_w(szPattern));
+
+ hr = queryresult_create(get_element(This), szPattern, resultList);
+ HeapFree(GetProcessHeap(), 0, szPattern);
+
+ return hr;
}
static HRESULT WINAPI domelem_normalize(
--
1.4.4.2
More information about the wine-patches
mailing list