Nikolay Sivov : msxml3: Use interface methods for ::get_length() calls.

Alexandre Julliard julliard at winehq.org
Tue Feb 16 11:44:39 CST 2010


Module: wine
Branch: master
Commit: b8282638bbf47c58c08e2ac0a20628279a4bb066
URL:    http://source.winehq.org/git/wine.git/?a=commit;h=b8282638bbf47c58c08e2ac0a20628279a4bb066

Author: Nikolay Sivov <bunglehead at gmail.com>
Date:   Tue Feb 16 00:14:29 2010 +0300

msxml3: Use interface methods for ::get_length() calls.

---

 dlls/msxml3/cdata.c   |   23 +++++++++--------------
 dlls/msxml3/comment.c |   25 ++++++++++---------------
 dlls/msxml3/text.c    |   30 ++++++++++++------------------
 3 files changed, 31 insertions(+), 47 deletions(-)

diff --git a/dlls/msxml3/cdata.c b/dlls/msxml3/cdata.c
index 7d02a94..e35d945 100644
--- a/dlls/msxml3/cdata.c
+++ b/dlls/msxml3/cdata.c
@@ -480,7 +480,7 @@ static HRESULT WINAPI domcdata_get_data(
     BSTR *p)
 {
     domcdata *This = impl_from_IXMLDOMCDATASection( iface );
-    HRESULT hr = E_FAIL;
+    HRESULT hr;
     VARIANT vRet;
 
     if(!p)
@@ -500,7 +500,6 @@ static HRESULT WINAPI domcdata_put_data(
     BSTR data)
 {
     domcdata *This = impl_from_IXMLDOMCDATASection( iface );
-    HRESULT hr = E_FAIL;
     VARIANT val;
 
     TRACE("%p %s\n", This, debugstr_w(data) );
@@ -508,9 +507,7 @@ static HRESULT WINAPI domcdata_put_data(
     V_VT(&val) = VT_BSTR;
     V_BSTR(&val) = data;
 
-    hr = IXMLDOMNode_put_nodeValue( IXMLDOMNode_from_impl(&This->node), val );
-
-    return hr;
+    return IXMLDOMNode_put_nodeValue( IXMLDOMNode_from_impl(&This->node), val );
 }
 
 static HRESULT WINAPI domcdata_get_length(
@@ -518,23 +515,21 @@ static HRESULT WINAPI domcdata_get_length(
     LONG *len)
 {
     domcdata *This = impl_from_IXMLDOMCDATASection( iface );
-    xmlChar *pContent;
-    LONG nLength = 0;
+    HRESULT hr;
+    BSTR data;
 
-    TRACE("%p\n", iface);
+    TRACE("%p %p\n", This, len);
 
     if(!len)
         return E_INVALIDARG;
 
-    pContent = xmlNodeGetContent(This->node.node);
-    if(pContent)
+    hr = IXMLDOMCDATASection_get_data(iface, &data);
+    if(hr == S_OK)
     {
-        nLength = xmlStrlen(pContent);
-        xmlFree(pContent);
+        *len = SysStringLen(data);
+        SysFreeString(data);
     }
 
-    *len = nLength;
-
     return S_OK;
 }
 
diff --git a/dlls/msxml3/comment.c b/dlls/msxml3/comment.c
index 1e3b965..bc9d8b3 100644
--- a/dlls/msxml3/comment.c
+++ b/dlls/msxml3/comment.c
@@ -474,7 +474,7 @@ static HRESULT WINAPI domcomment_get_data(
     BSTR *p)
 {
     domcomment *This = impl_from_IXMLDOMComment( iface );
-    HRESULT hr = E_FAIL;
+    HRESULT hr;
     VARIANT vRet;
 
     if(!p)
@@ -494,7 +494,6 @@ static HRESULT WINAPI domcomment_put_data(
     BSTR data)
 {
     domcomment *This = impl_from_IXMLDOMComment( iface );
-    HRESULT hr = E_FAIL;
     VARIANT val;
 
     TRACE("%p %s\n", This, debugstr_w(data) );
@@ -502,9 +501,7 @@ static HRESULT WINAPI domcomment_put_data(
     V_VT(&val) = VT_BSTR;
     V_BSTR(&val) = data;
 
-    hr = IXMLDOMNode_put_nodeValue( IXMLDOMNode_from_impl(&This->node), val );
-
-    return hr;
+    return IXMLDOMNode_put_nodeValue( IXMLDOMNode_from_impl(&This->node), val );
 }
 
 static HRESULT WINAPI domcomment_get_length(
@@ -512,24 +509,22 @@ static HRESULT WINAPI domcomment_get_length(
     LONG *len)
 {
     domcomment *This = impl_from_IXMLDOMComment( iface );
-    xmlChar *pContent;
-    LONG nLength = 0;
+    HRESULT hr;
+    BSTR data;
 
-    TRACE("%p\n", iface);
+    TRACE("%p %p\n", This, len);
 
     if(!len)
         return E_INVALIDARG;
 
-    pContent = xmlNodeGetContent(This->node.node);
-    if(pContent)
+    hr = IXMLDOMComment_get_data(iface, &data);
+    if(hr == S_OK)
     {
-        nLength = xmlStrlen(pContent);
-        xmlFree(pContent);
+        *len = SysStringLen(data);
+        SysFreeString(data);
     }
 
-    *len = nLength;
-
-    return S_OK;
+    return hr;
 }
 
 static HRESULT WINAPI domcomment_substringData(
diff --git a/dlls/msxml3/text.c b/dlls/msxml3/text.c
index 70ca3ef..cdf136b 100644
--- a/dlls/msxml3/text.c
+++ b/dlls/msxml3/text.c
@@ -482,7 +482,7 @@ static HRESULT WINAPI domtext_get_data(
     BSTR *p)
 {
     domtext *This = impl_from_IXMLDOMText( iface );
-    HRESULT hr = E_FAIL;
+    HRESULT hr;
     VARIANT vRet;
 
     if(!p)
@@ -502,7 +502,6 @@ static HRESULT WINAPI domtext_put_data(
     BSTR data)
 {
     domtext *This = impl_from_IXMLDOMText( iface );
-    HRESULT hr = E_FAIL;
     VARIANT val;
 
     TRACE("%p %s\n", This, debugstr_w(data) );
@@ -510,9 +509,7 @@ static HRESULT WINAPI domtext_put_data(
     V_VT(&val) = VT_BSTR;
     V_BSTR(&val) = data;
 
-    hr = IXMLDOMNode_put_nodeValue( IXMLDOMNode_from_impl(&This->node), val );
-
-    return hr;
+    return IXMLDOMNode_put_nodeValue( IXMLDOMNode_from_impl(&This->node), val );
 }
 
 static HRESULT WINAPI domtext_get_length(
@@ -520,24 +517,22 @@ static HRESULT WINAPI domtext_get_length(
     LONG *len)
 {
     domtext *This = impl_from_IXMLDOMText( iface );
-    xmlChar *pContent;
-    LONG nLength = 0;
+    HRESULT hr;
+    BSTR data;
 
-    TRACE("%p\n", iface);
+    TRACE("%p %p\n", This, len);
 
     if(!len)
         return E_INVALIDARG;
 
-    pContent = xmlNodeGetContent(This->node.node);
-    if(pContent)
+    hr = IXMLDOMText_get_data(iface, &data);
+    if(hr == S_OK)
     {
-        nLength = xmlStrlen(pContent);
-        xmlFree(pContent);
+        *len = SysStringLen(data);
+        SysFreeString(data);
     }
 
-    *len = nLength;
-
-    return S_OK;
+    return hr;
 }
 
 static HRESULT WINAPI domtext_substringData(
@@ -595,8 +590,7 @@ static HRESULT WINAPI domtext_appendData(
     TRACE("%p\n", iface);
 
     /* Nothing to do if NULL or an Empty string passed in. */
-    if(p == NULL || SysStringLen(p) == 0)
-        return S_OK;
+    if(SysStringLen(p) == 0) return S_OK;
 
     pContent = xmlChar_from_wchar( p );
     if(pContent)
@@ -624,7 +618,7 @@ static HRESULT WINAPI domtext_insertData(
     LONG nLength = 0, nLengthP = 0;
     xmlChar *str = NULL;
 
-    TRACE("%p\n", This);
+    TRACE("%p %d %s\n", This, offset, debugstr_w(p));
 
     /* If have a NULL or empty string, don't do anything. */
     if(SysStringLen(p) == 0)




More information about the wine-cvs mailing list