msxml3: implement IXMLDOMElement::getElementsByTagName (fixes bug #6761)

Mikołaj Zalewski mikolaj at zalewski.pl
Sat May 12 03:15:08 CDT 2007


-------------- next part --------------
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