--- dlls/xmllite/reader.c | 5 ++++- dlls/xmllite/tests/reader.c | 3 ++- 2 files changed, 6 insertions(+), 2 deletions(-)
diff --git a/dlls/xmllite/reader.c b/dlls/xmllite/reader.c index e813ca37fe..02097d0789 100644 --- a/dlls/xmllite/reader.c +++ b/dlls/xmllite/reader.c @@ -1415,7 +1415,6 @@ static HRESULT reader_parse_xmldecl(xmlreader *reader) reader->nodetype = XmlNodeType_XmlDeclaration; reader->empty_element.position = position; reader_set_strvalue(reader, StringValue_LocalName, &strval_xml); - reader_set_strvalue(reader, StringValue_QualifiedName, &strval_xml);
return S_OK; } @@ -3184,6 +3183,10 @@ static HRESULT WINAPI xmlreader_GetQualifiedName(IXmlReader* iface, LPCWSTR *nam *len = attribute->localname.len; } break; + case XmlNodeType_XmlDeclaration: + *name = This->strvalues[StringValue_LocalName].str; + *len = This->strvalues[StringValue_LocalName].len; + break; default: *name = This->strvalues[StringValue_QualifiedName].str; *len = This->strvalues[StringValue_QualifiedName].len; diff --git a/dlls/xmllite/tests/reader.c b/dlls/xmllite/tests/reader.c index 41adad1598..64ae6191a6 100644 --- a/dlls/xmllite/tests/reader.c +++ b/dlls/xmllite/tests/reader.c @@ -2537,7 +2537,8 @@ static void test_string_pointers(void) ok(empty == reader_value(reader, ""), "empty != value\n"); ok(empty == reader_prefix(reader, ""), "empty != prefix\n"); xml = reader_name(reader, "xml"); - ptr = reader_qname(reader, "xml"); todo_wine ok(xml == ptr, "xml != qname\n"); + ptr = reader_qname(reader, "xml"); + ok(xml == ptr, "xml != qname\n"); ok(empty == reader_namespace(reader, ""), "empty != namespace\n");
next_attribute(reader);