[PATCH] Implement IXMLDOMText get_data

Alistair Leslie-Hughes leslie_alistair at hotmail.com
Thu Feb 28 04:36:02 CST 2008


---
 dlls/msxml3/tests/domdoc.c |    6 ++++++
 dlls/msxml3/text.c         |   16 ++++++++++++++--
 2 files changed, 20 insertions(+), 2 deletions(-)

diff --git a/dlls/msxml3/tests/domdoc.c b/dlls/msxml3/tests/domdoc.c
index ce694d1..cac6430 100644
--- a/dlls/msxml3/tests/domdoc.c
+++ b/dlls/msxml3/tests/domdoc.c
@@ -573,6 +573,12 @@ static void test_domdoc( void )
         /* put data Tests */
         r = IXMLDOMText_put_data(nodetext, _bstr_("This &is a ; test <>\\"));
         ok(r == S_OK, "ret %08x\n", r );
+        
+        /* get data Tests */
+        r = IXMLDOMText_get_data(nodetext, &str);
+        ok(r == S_OK, "ret %08x\n", r );
+        ok( !lstrcmpW( str, _bstr_("This &is a ; test <>\\") ), "incorrect put_data string\n");
+        SysFreeString(str);
 
         /* Confirm XML text is good */
         r = IXMLDOMText_get_xml(nodetext, &str);
diff --git a/dlls/msxml3/text.c b/dlls/msxml3/text.c
index d3a1542..af91449 100644
--- a/dlls/msxml3/text.c
+++ b/dlls/msxml3/text.c
@@ -475,8 +475,20 @@ static HRESULT WINAPI domtext_get_data(
     IXMLDOMText *iface,
     BSTR *p)
 {
-    FIXME("\n");
-    return E_NOTIMPL;
+    domtext *This = impl_from_IXMLDOMText( iface );
+    HRESULT hr = E_FAIL;
+    VARIANT vRet;
+
+    if(!p)
+        return E_INVALIDARG;
+
+    hr = IXMLDOMNode_get_nodeValue( This->element, &vRet );
+    if(hr == S_OK)
+    {
+        *p = V_BSTR(&vRet);
+    }
+
+    return hr;
 }
 
 static HRESULT WINAPI domtext_put_data(
-- 
1.5.4.1


--------------060805070903010904020804--




More information about the wine-patches mailing list