From: Nikolay Sivov <nsivov@codeweavers.com> Signed-off-by: Nikolay Sivov <nsivov@codeweavers.com> --- dlls/msxml3/saxreader.c | 12 ++++++++++-- dlls/msxml3/tests/saxreader.c | 6 +++--- dlls/msxml4/tests/saxreader.c | 2 +- dlls/msxml6/tests/saxreader.c | 2 +- 4 files changed, 15 insertions(+), 7 deletions(-) diff --git a/dlls/msxml3/saxreader.c b/dlls/msxml3/saxreader.c index 0321f18750f..89e76add533 100644 --- a/dlls/msxml3/saxreader.c +++ b/dlls/msxml3/saxreader.c @@ -3947,8 +3947,16 @@ static void saxreader_parse_pi(struct saxlocator *locator) return; } - saxreader_string_append(locator, &buffer, &ch, 1); - saxreader_skip(locator, 1); + if (saxreader_cmp(locator, L"\r\n") + || saxreader_cmp(locator, L"\r")) + { + saxreader_string_append(locator, &buffer, L"\n", 1); + } + else + { + saxreader_string_append(locator, &buffer, &ch, 1); + saxreader_skip(locator, 1); + } ch = *saxreader_get_ptr_noread(locator); } diff --git a/dlls/msxml3/tests/saxreader.c b/dlls/msxml3/tests/saxreader.c index fdcd83a2362..c5a73a8d254 100644 --- a/dlls/msxml3/tests/saxreader.c +++ b/dlls/msxml3/tests/saxreader.c @@ -2556,7 +2556,7 @@ static void test_saxreader_pi(void) hr = ISAXXMLReader_parse(reader, var); ok(hr == S_OK, "Unexpected hr %#lx.\n", hr); sprintf(seqname, "%s: pi test", table->name); - ok_sequence(sequences, CONTENT_HANDLER_INDEX, test_seq, seqname, TRUE); + ok_sequence(sequences, CONTENT_HANDLER_INDEX, test_seq, seqname, FALSE); VariantClear(&var); ISAXXMLReader_Release(reader); @@ -3137,7 +3137,7 @@ static void test_saxreader_normalize_line_breaks(void) set_expected_seq(normalize_line_breaks_pi_seq); hr = ISAXXMLReader_parse(reader, var); ok(hr == S_OK, "Unexpected hr %#lx.\n", hr); - ok_sequence(sequences, CONTENT_HANDLER_INDEX, normalize_line_breaks_pi_seq, "Normalize line breaks: PI", TRUE); + ok_sequence(sequences, CONTENT_HANDLER_INDEX, normalize_line_breaks_pi_seq, "Normalize line breaks: PI", FALSE); /* Disable normalization */ hr = ISAXXMLReader_putFeature(reader, L"normalize-line-breaks", VARIANT_FALSE); @@ -3182,7 +3182,7 @@ static void test_saxreader_normalize_line_breaks(void) set_expected_seq(normalize_line_breaks_off_pi_seq); hr = ISAXXMLReader_parse(reader, var); ok(hr == S_OK, "Unexpected hr %#lx.\n", hr); - ok_sequence(sequences, CONTENT_HANDLER_INDEX, normalize_line_breaks_off_pi_seq, "Normalize line breaks (off): PI", FALSE); + ok_sequence(sequences, CONTENT_HANDLER_INDEX, normalize_line_breaks_off_pi_seq, "Normalize line breaks (off): PI", TRUE); ISAXXMLReader_Release(reader); table++; diff --git a/dlls/msxml4/tests/saxreader.c b/dlls/msxml4/tests/saxreader.c index 004bad49e17..75e6782b5af 100644 --- a/dlls/msxml4/tests/saxreader.c +++ b/dlls/msxml4/tests/saxreader.c @@ -2419,7 +2419,7 @@ static void test_saxreader_pi(void) set_expected_seq(pi_test); hr = ISAXXMLReader_parse(reader, var); ok(hr == S_OK, "Unexpected hr %#lx.\n", hr); - ok_sequence(sequences, CONTENT_HANDLER_INDEX, pi_test, "pi test", TRUE); + ok_sequence(sequences, CONTENT_HANDLER_INDEX, pi_test, "pi test", FALSE); VariantClear(&var); ISAXXMLReader_Release(reader); diff --git a/dlls/msxml6/tests/saxreader.c b/dlls/msxml6/tests/saxreader.c index c8d2b6bd5f6..a56b27d4916 100644 --- a/dlls/msxml6/tests/saxreader.c +++ b/dlls/msxml6/tests/saxreader.c @@ -5174,7 +5174,7 @@ static void test_saxreader_pi(void) set_expected_seq(pi_test); hr = ISAXXMLReader_parse(reader, var); ok(hr == S_OK, "Unexpected hr %#lx.\n", hr); - ok_sequence(sequences, CONTENT_HANDLER_INDEX, pi_test, "pi test 1", TRUE); + ok_sequence(sequences, CONTENT_HANDLER_INDEX, pi_test, "pi test 1", FALSE); VariantClear(&var); ISAXXMLReader_Release(reader); -- GitLab https://gitlab.winehq.org/wine/wine/-/merge_requests/10183