79602: msxml3/mxwriter: Use provided qualified name length while writing end element tag
buildbot at kegel.com
buildbot at kegel.com
Wed Oct 5 23:23:28 CDT 2011
This is an experimental automated build and test service.
Please feel free to ignore this email while we work the kinks out.
For more info about this message, see http://wiki.winehq.org/BuildBot
The Buildbot has detected a failed build on builder runtests-ati while building Wine.
Full details are available at: http://buildbot.kegel.com/builders/runtests-ati/builds/148 (though maybe not for long, as I'm still reinstalling the buildbot periodically while experimenting)
BUILD FAILED: failed git
Errors:
error: patch failed: dlls/msxml3/mxwriter.c:822
error: dlls/msxml3/mxwriter.c: patch does not apply
error: patch failed: dlls/msxml3/tests/saxreader.c:2069
error: dlls/msxml3/tests/saxreader.c: patch does not apply
-------------- next part --------------
From: Nikolay Sivov <nsivov at codeweavers.com>
Subject: msxml3/mxwriter: Use provided qualified name length while writing end element tag
Message-Id: <4E8CC6AC.3080909 at codeweavers.com>
Date: Wed, 05 Oct 2011 16:05:48 -0500
Use provided qualified name length while writing end element tag
From 3aedc5dec410208171a5951bf31eeb949dbb2d96 Mon Sep 17 00:00:00 2001
From: Nikolay Sivov <nsivov at codeweavers.com>
Date: Wed, 5 Oct 2011 16:04:04 -0500
Subject: [PATCH 11/11] Use provided qualified name length while writing end element tag
---
dlls/msxml3/mxwriter.c | 14 +++++++-------
dlls/msxml3/tests/saxreader.c | 13 ++++++++++++-
2 files changed, 19 insertions(+), 8 deletions(-)
diff --git a/dlls/msxml3/mxwriter.c b/dlls/msxml3/mxwriter.c
index b08fd0b..a863336 100644
--- a/dlls/msxml3/mxwriter.c
+++ b/dlls/msxml3/mxwriter.c
@@ -822,28 +822,28 @@ static HRESULT WINAPI mxwriter_saxcontent_endElement(
int nQName)
{
mxwriter *This = impl_from_ISAXContentHandler( iface );
- xmlChar *s;
- TRACE("(%p)->(%s %s %s)\n", This, debugstr_wn(namespaceUri, nnamespaceUri),
- debugstr_wn(local_name, nlocal_name), debugstr_wn(QName, nQName));
+ TRACE("(%p)->(%s:%d %s:%d %s:%d)\n", This, debugstr_wn(namespaceUri, nnamespaceUri), nnamespaceUri,
+ debugstr_wn(local_name, nlocal_name), nlocal_name, debugstr_wn(QName, nQName), nQName);
if ((!namespaceUri || !local_name || !QName) && This->class_version != MSXML6)
return E_INVALIDARG;
- s = xmlchar_from_wchar(QName);
-
- if (This->element && QName && !strcmpW(This->element, QName))
+ if (This->element && QName && !strncmpW(This->element, QName, nQName))
{
xmlOutputBufferWriteString(This->buffer, "/>");
}
else
{
+ xmlChar *s = xmlchar_from_wcharn(QName, nQName);
+
xmlOutputBufferWriteString(This->buffer, "</");
xmlOutputBufferWriteString(This->buffer, (char*)s);
xmlOutputBufferWriteString(This->buffer, ">");
+
+ heap_free(s);
}
- heap_free(s);
set_element_name(This, NULL, 0);
return S_OK;
diff --git a/dlls/msxml3/tests/saxreader.c b/dlls/msxml3/tests/saxreader.c
index 6493776..c52e03b 100644
--- a/dlls/msxml3/tests/saxreader.c
+++ b/dlls/msxml3/tests/saxreader.c
@@ -2069,9 +2069,20 @@ static void test_mxwriter_startendelement(void)
ok(!lstrcmpW(_bstr_("<abc>"), V_BSTR(&dest)), "got wrong content %s\n", wine_dbgstr_w(V_BSTR(&dest)));
VariantClear(&dest);
+ ISAXContentHandler_endDocument(content);
+ IMXWriter_flush(writer);
+
+ hr = ISAXContentHandler_endElement(content, _bstr_(""), 0, _bstr_(""), 0, _bstr_("abdcdef"), 3);
+ EXPECT_HR(hr, S_OK);
+ V_VT(&dest) = VT_EMPTY;
+ hr = IMXWriter_get_output(writer, &dest);
+ EXPECT_HR(hr, S_OK);
+ ok(V_VT(&dest) == VT_BSTR, "got %d\n", V_VT(&dest));
+ ok(!lstrcmpW(_bstr_("<abc></abd>"), V_BSTR(&dest)), "got wrong content %s\n", wine_dbgstr_w(V_BSTR(&dest)));
+ VariantClear(&dest);
+
ISAXContentHandler_Release(content);
IMXWriter_Release(writer);
-
free_bstrs();
}
--
1.7.1
More information about the wine-tests-results
mailing list