XFA: Revert UTF16LE_Encode changes
Revert "Fix embedder test failures introduced by commit c70b19aad245"
This reverts commit 8d89e65897d8b6cf7899e7a82d9d381c3ad327cb.
Revert "Fix invalid buffer length set in CFX_WideString::UTF16LE_Encode()"
This reverts commit c70b19aad245fb1ed39bf8c264d991555f4c5a58.
R=tsepez@chromium.org
Review URL: https://codereview.chromium.org/1516643002 .
diff --git a/fpdfsdk/src/fpdftext_embeddertest.cpp b/fpdfsdk/src/fpdftext_embeddertest.cpp
index 50eef87..6c1ae4c 100644
--- a/fpdfsdk/src/fpdftext_embeddertest.cpp
+++ b/fpdfsdk/src/fpdftext_embeddertest.cpp
@@ -42,9 +42,8 @@
// Check includes the terminating NUL that is provided.
int num_chars = FPDFText_GetText(textpage, 0, 128, fixed_buffer);
ASSERT_GE(num_chars, 0);
- EXPECT_EQ(sizeof(expected) - 1, static_cast<size_t>(num_chars));
- EXPECT_TRUE(
- check_unsigned_shorts(expected, fixed_buffer, sizeof(expected) - 1));
+ EXPECT_EQ(sizeof(expected), static_cast<size_t>(num_chars));
+ EXPECT_TRUE(check_unsigned_shorts(expected, fixed_buffer, sizeof(expected)));
// Count does not include the terminating NUL in the string literal.
EXPECT_EQ(sizeof(expected) - 1, FPDFText_CountChars(textpage));
@@ -126,10 +125,11 @@
EXPECT_EQ(0xbdbd, fixed_buffer[9]);
memset(fixed_buffer, 0xbd, sizeof(fixed_buffer));
- EXPECT_EQ(9, FPDFText_GetBoundedText(textpage, 41.0, 56.0, 82.0, 48.0,
- fixed_buffer, 128));
+ EXPECT_EQ(10, FPDFText_GetBoundedText(textpage, 41.0, 56.0, 82.0, 48.0,
+ fixed_buffer, 128));
EXPECT_TRUE(check_unsigned_shorts(expected + 4, fixed_buffer, 9));
- EXPECT_EQ(0xbdbd, fixed_buffer[9]);
+ EXPECT_EQ(0u, fixed_buffer[9]);
+ EXPECT_EQ(0xbdbd, fixed_buffer[10]);
FPDFText_ClosePage(textpage);
UnloadPage(page);
@@ -269,13 +269,14 @@
// Page contains two HTTP-style URLs.
EXPECT_EQ(2, FPDFLink_CountWebLinks(pagelink));
- EXPECT_EQ(0, FPDFLink_GetURL(pagelink, 2, nullptr, 0));
- EXPECT_EQ(0, FPDFLink_GetURL(pagelink, 1400, nullptr, 0));
- EXPECT_EQ(0, FPDFLink_GetURL(pagelink, -1, nullptr, 0));
+ // Only a terminating NUL required for bogus links.
+ EXPECT_EQ(1, FPDFLink_GetURL(pagelink, 2, nullptr, 0));
+ EXPECT_EQ(1, FPDFLink_GetURL(pagelink, 1400, nullptr, 0));
+ EXPECT_EQ(1, FPDFLink_GetURL(pagelink, -1, nullptr, 0));
// Query the number of characters required for each link (incl NUL).
- EXPECT_EQ(24, FPDFLink_GetURL(pagelink, 0, nullptr, 0));
- EXPECT_EQ(25, FPDFLink_GetURL(pagelink, 1, nullptr, 0));
+ EXPECT_EQ(25, FPDFLink_GetURL(pagelink, 0, nullptr, 0));
+ EXPECT_EQ(26, FPDFLink_GetURL(pagelink, 1, nullptr, 0));
static const char expected_url[] = "http://example.com?q=foo";
unsigned short fixed_buffer[128];
@@ -299,19 +300,21 @@
// Retreive link with exactly-sized buffer.
memset(fixed_buffer, 0xbd, sizeof(fixed_buffer));
- EXPECT_EQ(sizeof(expected_url) - 1,
+ EXPECT_EQ(sizeof(expected_url),
FPDFLink_GetURL(pagelink, 0, fixed_buffer, sizeof(expected_url)));
- EXPECT_TRUE(check_unsigned_shorts(expected_url, fixed_buffer,
- sizeof(expected_url) - 1));
- EXPECT_EQ(0xbdbd, fixed_buffer[sizeof(expected_url) - 1]);
+ EXPECT_TRUE(
+ check_unsigned_shorts(expected_url, fixed_buffer, sizeof(expected_url)));
+ EXPECT_EQ(0u, fixed_buffer[sizeof(expected_url) - 1]);
+ EXPECT_EQ(0xbdbd, fixed_buffer[sizeof(expected_url)]);
// Retreive link with ample-sized-buffer.
memset(fixed_buffer, 0xbd, sizeof(fixed_buffer));
- EXPECT_EQ(sizeof(expected_url) - 1,
+ EXPECT_EQ(sizeof(expected_url),
FPDFLink_GetURL(pagelink, 0, fixed_buffer, 128));
- EXPECT_TRUE(check_unsigned_shorts(expected_url, fixed_buffer,
- sizeof(expected_url) - 1));
- EXPECT_EQ(0xbdbd, fixed_buffer[sizeof(expected_url) - 1]);
+ EXPECT_TRUE(
+ check_unsigned_shorts(expected_url, fixed_buffer, sizeof(expected_url)));
+ EXPECT_EQ(0u, fixed_buffer[sizeof(expected_url) - 1]);
+ EXPECT_EQ(0xbdbd, fixed_buffer[sizeof(expected_url)]);
// Each link rendered in a single rect in this test page.
EXPECT_EQ(1, FPDFLink_CountRects(pagelink, 0));