Module: wine Branch: master Commit: 12f7e0aa3981827849fdbf09d53e8445d5903d2b URL: http://source.winehq.org/git/wine.git/?a=commit;h=12f7e0aa3981827849fdbf09d5...
Author: Piotr Caban piotr.caban@gmail.com Date: Thu Aug 21 23:36:40 2008 +0200
msxml3: Code clean up.
---
dlls/msxml3/queryresult.c | 90 ++++++++++++++++++++++----------------------- 1 files changed, 44 insertions(+), 46 deletions(-)
diff --git a/dlls/msxml3/queryresult.c b/dlls/msxml3/queryresult.c index 1b2070e..6f8f3c4 100644 --- a/dlls/msxml3/queryresult.c +++ b/dlls/msxml3/queryresult.c @@ -50,8 +50,6 @@ WINE_DEFAULT_DEBUG_CHANNEL(msxml);
#include <libxml/xpath.h>
-static const struct IXMLDOMNodeListVtbl queryresult_vtbl; - typedef struct _queryresult { const struct IXMLDOMNodeListVtbl *lpVtbl; @@ -66,50 +64,6 @@ static inline queryresult *impl_from_IXMLDOMNodeList( IXMLDOMNodeList *iface ) return (queryresult *)((char*)iface - FIELD_OFFSET(queryresult, lpVtbl)); }
-HRESULT queryresult_create(xmlNodePtr node, LPWSTR szQuery, IXMLDOMNodeList **out) -{ - queryresult *This = CoTaskMemAlloc(sizeof(queryresult)); - xmlXPathContextPtr ctxt = xmlXPathNewContext(node->doc); - xmlChar *str = xmlChar_from_wchar(szQuery); - HRESULT hr; - - - TRACE("(%p, %s, %p)\n", node, wine_dbgstr_w(szQuery), out); - - *out = NULL; - if (This == NULL || ctxt == NULL || str == NULL) - { - hr = E_OUTOFMEMORY; - goto cleanup; - } - - This->lpVtbl = &queryresult_vtbl; - This->ref = 1; - This->resultPos = 0; - This->node = node; - xmldoc_add_ref(This->node->doc); - - ctxt->node = node; - This->result = xmlXPathEval(str, ctxt); - if (!This->result || This->result->type != XPATH_NODESET) - { - hr = E_FAIL; - goto cleanup; - } - - *out = (IXMLDOMNodeList *)This; - hr = S_OK; - TRACE("found %d matches\n", xmlXPathNodeSetGetLength(This->result->nodesetval)); - -cleanup: - if (This != NULL && FAILED(hr)) - IXMLDOMNodeList_Release( (IXMLDOMNodeList*) &This->lpVtbl ); - if (ctxt != NULL) - xmlXPathFreeContext(ctxt); - HeapFree(GetProcessHeap(), 0, str); - return hr; -} -
static HRESULT WINAPI queryresult_QueryInterface( IXMLDOMNodeList *iface, @@ -343,4 +297,48 @@ static const struct IXMLDOMNodeListVtbl queryresult_vtbl = queryresult__newEnum, };
+HRESULT queryresult_create(xmlNodePtr node, LPWSTR szQuery, IXMLDOMNodeList **out) +{ + queryresult *This = CoTaskMemAlloc(sizeof(queryresult)); + xmlXPathContextPtr ctxt = xmlXPathNewContext(node->doc); + xmlChar *str = xmlChar_from_wchar(szQuery); + HRESULT hr; + + + TRACE("(%p, %s, %p)\n", node, wine_dbgstr_w(szQuery), out); + + *out = NULL; + if (This == NULL || ctxt == NULL || str == NULL) + { + hr = E_OUTOFMEMORY; + goto cleanup; + } + + This->lpVtbl = &queryresult_vtbl; + This->ref = 1; + This->resultPos = 0; + This->node = node; + xmldoc_add_ref(This->node->doc); + + ctxt->node = node; + This->result = xmlXPathEval(str, ctxt); + if (!This->result || This->result->type != XPATH_NODESET) + { + hr = E_FAIL; + goto cleanup; + } + + *out = (IXMLDOMNodeList *)This; + hr = S_OK; + TRACE("found %d matches\n", xmlXPathNodeSetGetLength(This->result->nodesetval)); + +cleanup: + if (This != NULL && FAILED(hr)) + IXMLDOMNodeList_Release( (IXMLDOMNodeList*) &This->lpVtbl ); + if (ctxt != NULL) + xmlXPathFreeContext(ctxt); + HeapFree(GetProcessHeap(), 0, str); + return hr; +} + #endif