Nikolay Sivov : xmllite/reader: Return empty value for elements.

Alexandre Julliard julliard at winehq.org
Tue Mar 7 15:43:59 CST 2017


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

Author: Nikolay Sivov <nsivov at codeweavers.com>
Date:   Tue Mar  7 06:50:56 2017 +0300

xmllite/reader: Return empty value for elements.

Signed-off-by: Nikolay Sivov <nsivov at codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard at winehq.org>

---

 dlls/xmllite/reader.c       |  2 ++
 dlls/xmllite/tests/reader.c | 12 +++++++++++-
 2 files changed, 13 insertions(+), 1 deletion(-)

diff --git a/dlls/xmllite/reader.c b/dlls/xmllite/reader.c
index 9e0d11e..84f38d5 100644
--- a/dlls/xmllite/reader.c
+++ b/dlls/xmllite/reader.c
@@ -2244,6 +2244,7 @@ static HRESULT reader_parse_element(xmlreader *reader)
         reader_set_strvalue(reader, StringValue_Prefix, &prefix);
         reader_set_strvalue(reader, StringValue_LocalName, &local);
         reader_set_strvalue(reader, StringValue_QualifiedName, &qname);
+        reader_set_strvalue(reader, StringValue_Value, &strval_empty);
         break;
     }
     default:
@@ -2899,6 +2900,7 @@ static HRESULT WINAPI xmlreader_MoveToElement(IXmlReader* iface)
             reader_set_strvalue(This, StringValue_QualifiedName, &element->qname);
         }
     }
+    reader_set_strvalue(This, StringValue_Value, &strval_empty);
 
     return S_OK;
 }
diff --git a/dlls/xmllite/tests/reader.c b/dlls/xmllite/tests/reader.c
index 7153474..84316e4 100644
--- a/dlls/xmllite/tests/reader.c
+++ b/dlls/xmllite/tests/reader.c
@@ -909,7 +909,6 @@ todo_wine {
 
     hr = IXmlReader_GetValue(reader, &val, NULL);
     ok(hr == S_OK, "expected S_OK, got %08x\n", hr);
-todo_wine
     ok(*val == 0, "got %s\n", wine_dbgstr_w(val));
 
     hr = IXmlReader_GetLocalName(reader, &val, NULL);
@@ -1473,9 +1472,17 @@ static void test_read_element(void)
             /* moving to attributes increases depth */
             if (count)
             {
+                const WCHAR *value;
+
+                hr = IXmlReader_GetValue(reader, &value, NULL);
+                ok(*value == 0, "Unexpected value %s\n", wine_dbgstr_w(value));
+
                 hr = IXmlReader_MoveToFirstAttribute(reader);
                 ok(hr == S_OK, "got %08x\n", hr);
 
+                hr = IXmlReader_GetValue(reader, &value, NULL);
+                ok(*value != 0, "Unexpected value %s\n", wine_dbgstr_w(value));
+
                 depth = 123;
                 hr = IXmlReader_GetDepth(reader, &depth);
                 ok(hr == S_OK, "got %08x\n", hr);
@@ -1484,6 +1491,9 @@ static void test_read_element(void)
                 hr = IXmlReader_MoveToElement(reader);
                 ok(hr == S_OK, "got %08x\n", hr);
 
+                hr = IXmlReader_GetValue(reader, &value, NULL);
+                ok(*value == 0, "Unexpected value %s\n", wine_dbgstr_w(value));
+
                 depth = 123;
                 hr = IXmlReader_GetDepth(reader, &depth);
                 ok(hr == S_OK, "got %08x\n", hr);




More information about the wine-cvs mailing list