[PATCH 3/4] Remove transformNode() forward

Nikolay Sivov nsivov at codeweavers.com
Wed Feb 23 06:03:42 CST 2011


---
 dlls/msxml3/attribute.c     |    5 ++-
 dlls/msxml3/cdata.c         |    5 ++-
 dlls/msxml3/comment.c       |    5 ++-
 dlls/msxml3/docfrag.c       |    5 ++-
 dlls/msxml3/domdoc.c        |    7 ++--
 dlls/msxml3/element.c       |    5 ++-
 dlls/msxml3/entityref.c     |    5 ++-
 dlls/msxml3/msxml_private.h |    1 +
 dlls/msxml3/node.c          |   67 +++++++++++++++++-------------------------
 dlls/msxml3/pi.c            |    5 ++-
 dlls/msxml3/text.c          |    5 ++-
 11 files changed, 56 insertions(+), 59 deletions(-)

diff --git a/dlls/msxml3/attribute.c b/dlls/msxml3/attribute.c
index b0c9586..9d1af8d 100644
--- a/dlls/msxml3/attribute.c
+++ b/dlls/msxml3/attribute.c
@@ -472,10 +472,11 @@ static HRESULT WINAPI domattr_get_xml(
 
 static HRESULT WINAPI domattr_transformNode(
     IXMLDOMAttribute *iface,
-    IXMLDOMNode* domNode, BSTR* p)
+    IXMLDOMNode *node, BSTR *p)
 {
     domattr *This = impl_from_IXMLDOMAttribute( iface );
-    return IXMLDOMNode_transformNode( &This->node.IXMLDOMNode_iface, domNode, p );
+    TRACE("(%p)->(%p %p)\n", This, node, p);
+    return node_transform_node(&This->node, node, p);
 }
 
 static HRESULT WINAPI domattr_selectNodes(
diff --git a/dlls/msxml3/cdata.c b/dlls/msxml3/cdata.c
index be4513d..675ca81 100644
--- a/dlls/msxml3/cdata.c
+++ b/dlls/msxml3/cdata.c
@@ -483,10 +483,11 @@ static HRESULT WINAPI domcdata_get_xml(
 
 static HRESULT WINAPI domcdata_transformNode(
     IXMLDOMCDATASection *iface,
-    IXMLDOMNode* domNode, BSTR* p)
+    IXMLDOMNode *node, BSTR *p)
 {
     domcdata *This = impl_from_IXMLDOMCDATASection( iface );
-    return IXMLDOMNode_transformNode( &This->node.IXMLDOMNode_iface, domNode, p );
+    TRACE("(%p)->(%p %p)\n", This, node, p);
+    return node_transform_node(&This->node, node, p);
 }
 
 static HRESULT WINAPI domcdata_selectNodes(
diff --git a/dlls/msxml3/comment.c b/dlls/msxml3/comment.c
index f48660d..ae403ca 100644
--- a/dlls/msxml3/comment.c
+++ b/dlls/msxml3/comment.c
@@ -476,10 +476,11 @@ static HRESULT WINAPI domcomment_get_xml(
 
 static HRESULT WINAPI domcomment_transformNode(
     IXMLDOMComment *iface,
-    IXMLDOMNode* domNode, BSTR* p)
+    IXMLDOMNode *node, BSTR *p)
 {
     domcomment *This = impl_from_IXMLDOMComment( iface );
-    return IXMLDOMNode_transformNode( &This->node.IXMLDOMNode_iface, domNode, p );
+    TRACE("(%p)->(%p %p)\n", This, node, p);
+    return node_transform_node(&This->node, node, p);
 }
 
 static HRESULT WINAPI domcomment_selectNodes(
diff --git a/dlls/msxml3/docfrag.c b/dlls/msxml3/docfrag.c
index 72d8f57..7405ede 100644
--- a/dlls/msxml3/docfrag.c
+++ b/dlls/msxml3/docfrag.c
@@ -480,10 +480,11 @@ static HRESULT WINAPI domfrag_get_xml(
 
 static HRESULT WINAPI domfrag_transformNode(
     IXMLDOMDocumentFragment *iface,
-    IXMLDOMNode* domNode, BSTR* p)
+    IXMLDOMNode *node, BSTR *p)
 {
     domfrag *This = impl_from_IXMLDOMDocumentFragment( iface );
-    return IXMLDOMNode_transformNode( &This->node.IXMLDOMNode_iface, domNode, p );
+    TRACE("(%p)->(%p %p)\n", This, node, p);
+    return node_transform_node(&This->node, node, p);
 }
 
 static HRESULT WINAPI domfrag_selectNodes(
diff --git a/dlls/msxml3/domdoc.c b/dlls/msxml3/domdoc.c
index 9596601..26d59a6 100644
--- a/dlls/msxml3/domdoc.c
+++ b/dlls/msxml3/domdoc.c
@@ -1428,11 +1428,12 @@ static HRESULT WINAPI domdoc_get_xml(
 
 static HRESULT WINAPI domdoc_transformNode(
     IXMLDOMDocument3 *iface,
-    IXMLDOMNode* styleSheet,
-    BSTR* xmlString )
+    IXMLDOMNode *node,
+    BSTR *p)
 {
     domdoc *This = impl_from_IXMLDOMDocument3( iface );
-    return IXMLDOMNode_transformNode( &This->node.IXMLDOMNode_iface, styleSheet, xmlString );
+    TRACE("(%p)->(%p %p)\n", This, node, p);
+    return node_transform_node(&This->node, node, p);
 }
 
 
diff --git a/dlls/msxml3/element.c b/dlls/msxml3/element.c
index 9a29427..f6c44e1 100644
--- a/dlls/msxml3/element.c
+++ b/dlls/msxml3/element.c
@@ -932,10 +932,11 @@ static HRESULT WINAPI domelem_get_xml(
 
 static HRESULT WINAPI domelem_transformNode(
     IXMLDOMElement *iface,
-    IXMLDOMNode* domNode, BSTR* p)
+    IXMLDOMNode *node, BSTR *p)
 {
     domelem *This = impl_from_IXMLDOMElement( iface );
-    return IXMLDOMNode_transformNode( &This->node.IXMLDOMNode_iface, domNode, p );
+    TRACE("(%p)->(%p %p)\n", This, node, p);
+    return node_transform_node(&This->node, node, p);
 }
 
 static HRESULT WINAPI domelem_selectNodes(
diff --git a/dlls/msxml3/entityref.c b/dlls/msxml3/entityref.c
index d103609..a9040fe 100644
--- a/dlls/msxml3/entityref.c
+++ b/dlls/msxml3/entityref.c
@@ -474,10 +474,11 @@ static HRESULT WINAPI entityref_get_xml(
 
 static HRESULT WINAPI entityref_transformNode(
     IXMLDOMEntityReference *iface,
-    IXMLDOMNode* domNode, BSTR* p)
+    IXMLDOMNode *node, BSTR *p)
 {
     entityref *This = impl_from_IXMLDOMEntityReference( iface );
-    return IXMLDOMNode_transformNode( &This->node.IXMLDOMNode_iface, domNode, p );
+    TRACE("(%p)->(%p %p)\n", This, node, p);
+    return node_transform_node(&This->node, node, p);
 }
 
 static HRESULT WINAPI entityref_selectNodes(
diff --git a/dlls/msxml3/msxml_private.h b/dlls/msxml3/msxml_private.h
index b74c905..a618120 100644
--- a/dlls/msxml3/msxml_private.h
+++ b/dlls/msxml3/msxml_private.h
@@ -278,6 +278,7 @@ extern HRESULT node_get_owner_doc(const xmlnode*,IXMLDOMDocument**);
 extern HRESULT node_get_text(const xmlnode*,BSTR*);
 extern HRESULT node_select_nodes(const xmlnode*,BSTR,IXMLDOMNodeList**);
 extern HRESULT node_select_singlenode(const xmlnode*,BSTR,IXMLDOMNode**);
+extern HRESULT node_transform_node(const xmlnode*,IXMLDOMNode*,BSTR*);
 
 extern HRESULT get_domdoc_from_xmldoc(xmlDocPtr xmldoc, IXMLDOMDocument3 **document);
 
diff --git a/dlls/msxml3/node.c b/dlls/msxml3/node.c
index 435ae03..081f9d4 100644
--- a/dlls/msxml3/node.c
+++ b/dlls/msxml3/node.c
@@ -929,66 +929,54 @@ HRESULT node_get_xml(xmlnode *This, BOOL ensure_eol, BOOL ensure_no_encoding, BS
     return *ret ? S_OK : E_OUTOFMEMORY;
 }
 
-static HRESULT WINAPI xmlnode_transformNode(
-    IXMLDOMNode *iface,
-    IXMLDOMNode* styleSheet,
-    BSTR* xmlString)
+HRESULT node_transform_node(const xmlnode *This, IXMLDOMNode *stylesheet, BSTR *p)
 {
 #ifdef SONAME_LIBXSLT
-    xmlnode *This = impl_from_IXMLDOMNode( iface );
-    xmlnode *pStyleSheet = NULL;
-    xsltStylesheetPtr xsltSS = NULL;
-    xmlDocPtr result = NULL;
-
-    TRACE("(%p)->(%p %p)\n", This, styleSheet, xmlString);
+    xsltStylesheetPtr xsltSS;
+    xmlnode *sheet;
 
-    if (!libxslt_handle)
-        return E_NOTIMPL;
-    if(!styleSheet || !xmlString)
-        return E_INVALIDARG;
+    if (!libxslt_handle) return E_NOTIMPL;
+    if (!stylesheet || !p) return E_INVALIDARG;
 
-    *xmlString = NULL;
+    *p = NULL;
 
-    pStyleSheet = get_node_obj(styleSheet);
-    if(!pStyleSheet) {
+    sheet = get_node_obj(stylesheet);
+    if(!sheet) {
         FIXME("styleSheet is not our xmlnode implementation\n");
         return E_FAIL;
     }
 
-    xsltSS = pxsltParseStylesheetDoc( pStyleSheet->node->doc);
+    xsltSS = pxsltParseStylesheetDoc(sheet->node->doc);
     if(xsltSS)
     {
-        result = pxsltApplyStylesheet(xsltSS, This->node->doc, NULL);
+        xmlDocPtr result = pxsltApplyStylesheet(xsltSS, This->node->doc, NULL);
         if(result)
         {
-            const xmlChar *pContent;
+            const xmlChar *content;
 
             if(result->type == XML_HTML_DOCUMENT_NODE)
             {
-                xmlOutputBufferPtr	pOutput = xmlAllocOutputBuffer(NULL);
-                if(pOutput)
+                xmlOutputBufferPtr output = xmlAllocOutputBuffer(NULL);
+                if (output)
                 {
-                    htmlDocContentDumpOutput(pOutput, result->doc, NULL);
-                    pContent = xmlBufferContent(pOutput->buffer);
-                    *xmlString = bstr_from_xmlChar(pContent);
-                    xmlOutputBufferClose(pOutput);
+                    htmlDocContentDumpOutput(output, result->doc, NULL);
+                    content = xmlBufferContent(output->buffer);
+                    *p = bstr_from_xmlChar(content);
+                    xmlOutputBufferClose(output);
                 }
             }
             else
             {
-                xmlBufferPtr pXmlBuf;
-                int nSize;
-
-                pXmlBuf = xmlBufferCreate();
-                if(pXmlBuf)
+                xmlBufferPtr buf = xmlBufferCreate();
+                if (buf)
                 {
-                    nSize = xmlNodeDump(pXmlBuf, NULL, (xmlNodePtr)result, 0, 0);
-                    if(nSize > 0)
+                    int size = xmlNodeDump(buf, NULL, (xmlNodePtr)result, 0, 0);
+                    if(size > 0)
                     {
-                        pContent = xmlBufferContent(pXmlBuf);
-                        *xmlString = bstr_from_xmlChar(pContent);
+                        content = xmlBufferContent(buf);
+                        *p = bstr_from_xmlChar(content);
                     }
-                    xmlBufferFree(pXmlBuf);
+                    xmlBufferFree(buf);
                 }
             }
             xmlFreeDoc(result);
@@ -999,8 +987,7 @@ static HRESULT WINAPI xmlnode_transformNode(
         pxsltFreeStylesheet(xsltSS);
     }
 
-    if(*xmlString == NULL)
-        *xmlString = SysAllocStringLen(NULL, 0);
+    if(!*p) *p = SysAllocStringLen(NULL, 0);
 
     return S_OK;
 #else
@@ -1125,7 +1112,7 @@ static const struct IXMLDOMNodeVtbl xmlnode_vtbl =
     NULL,
     NULL,
     NULL,
-    xmlnode_transformNode,
+    NULL,
     NULL,
     NULL
 };
@@ -1589,7 +1576,7 @@ static HRESULT WINAPI unknode_transformNode(
     IXMLDOMNode* domNode, BSTR* p)
 {
     unknode *This = unknode_from_IXMLDOMNode( iface );
-    return IXMLDOMNode_transformNode( &This->node.IXMLDOMNode_iface, domNode, p );
+    return node_transform_node(&This->node, domNode, p);
 }
 
 static HRESULT WINAPI unknode_selectNodes(
diff --git a/dlls/msxml3/pi.c b/dlls/msxml3/pi.c
index 3bea6c6..4764a8b 100644
--- a/dlls/msxml3/pi.c
+++ b/dlls/msxml3/pi.c
@@ -491,10 +491,11 @@ static HRESULT WINAPI dom_pi_get_xml(
 
 static HRESULT WINAPI dom_pi_transformNode(
     IXMLDOMProcessingInstruction *iface,
-    IXMLDOMNode* domNode, BSTR* p)
+    IXMLDOMNode *node, BSTR *p)
 {
     dom_pi *This = impl_from_IXMLDOMProcessingInstruction( iface );
-    return IXMLDOMNode_transformNode( &This->node.IXMLDOMNode_iface, domNode, p );
+    TRACE("(%p)->(%p %p)\n", This, node, p);
+    return node_transform_node(&This->node, node, p);
 }
 
 static HRESULT WINAPI dom_pi_selectNodes(
diff --git a/dlls/msxml3/text.c b/dlls/msxml3/text.c
index 7d43002..6676c83 100644
--- a/dlls/msxml3/text.c
+++ b/dlls/msxml3/text.c
@@ -561,10 +561,11 @@ static HRESULT WINAPI domtext_get_xml(
 
 static HRESULT WINAPI domtext_transformNode(
     IXMLDOMText *iface,
-    IXMLDOMNode* domNode, BSTR* p)
+    IXMLDOMNode *node, BSTR *p)
 {
     domtext *This = impl_from_IXMLDOMText( iface );
-    return IXMLDOMNode_transformNode( &This->node.IXMLDOMNode_iface, domNode, p );
+    TRACE("(%p)->(%p %p)\n", This, node, p);
+    return node_transform_node(&This->node, node, p);
 }
 
 static HRESULT WINAPI domtext_selectNodes(
-- 
1.5.6.5



--------------020801060406040002030506--



More information about the wine-patches mailing list