diff options
-rw-r--r-- | core/fpdfapi/parser/cpdf_array.cpp | 13 | ||||
-rw-r--r-- | core/fpdfapi/parser/cpdf_array.h | 3 | ||||
-rw-r--r-- | core/fpdfapi/parser/cpdf_array_unittest.cpp | 26 |
3 files changed, 4 insertions, 38 deletions
diff --git a/core/fpdfapi/parser/cpdf_array.cpp b/core/fpdfapi/parser/cpdf_array.cpp index 1f2740ea9c..5d079a38b4 100644 --- a/core/fpdfapi/parser/cpdf_array.cpp +++ b/core/fpdfapi/parser/cpdf_array.cpp @@ -142,20 +142,13 @@ CPDF_Array* CPDF_Array::GetArrayAt(size_t i) const { return ToArray(GetDirectObjectAt(i)); } -void CPDF_Array::RemoveAt(size_t i) { - if (i < m_Objects.size()) - m_Objects.erase(m_Objects.begin() + i); -} - void CPDF_Array::Clear() { m_Objects.clear(); } -void CPDF_Array::Truncate(size_t nNewSize) { - if (nNewSize >= m_Objects.size()) - return; - - m_Objects.resize(nNewSize); +void CPDF_Array::RemoveAt(size_t i) { + if (i < m_Objects.size()) + m_Objects.erase(m_Objects.begin() + i); } void CPDF_Array::ConvertToIndirectObjectAt(size_t i, diff --git a/core/fpdfapi/parser/cpdf_array.h b/core/fpdfapi/parser/cpdf_array.h index 2590971d80..ed5d3e33fd 100644 --- a/core/fpdfapi/parser/cpdf_array.h +++ b/core/fpdfapi/parser/cpdf_array.h @@ -100,9 +100,8 @@ class CPDF_Array : public CPDF_Object { index, pdfium::MakeUnique<T>(m_pPool, std::forward<Args>(args)...))); } - void RemoveAt(size_t index); void Clear(); - void Truncate(size_t nNewSize); + void RemoveAt(size_t index); void ConvertToIndirectObjectAt(size_t index, CPDF_IndirectObjectHolder* pDoc); const_iterator begin() const { return m_Objects.begin(); } diff --git a/core/fpdfapi/parser/cpdf_array_unittest.cpp b/core/fpdfapi/parser/cpdf_array_unittest.cpp index 006e5fad33..4ce66dcadb 100644 --- a/core/fpdfapi/parser/cpdf_array_unittest.cpp +++ b/core/fpdfapi/parser/cpdf_array_unittest.cpp @@ -53,32 +53,6 @@ TEST(cpdf_array, Clear) { EXPECT_EQ(0U, arr->GetCount()); } -TEST(cpdf_array, Truncate) { - { - const int elems[] = {1, 2, 3, 4, 5, 6, 7, 8, 9, 10}; - auto arr = pdfium::MakeUnique<CPDF_Array>(); - for (size_t i = 0; i < FX_ArraySize(elems); ++i) - arr->AddNew<CPDF_Number>(elems[i]); - arr->Truncate(4); - const int expected[] = {1, 2, 3, 4}; - ASSERT_EQ(FX_ArraySize(expected), arr->GetCount()); - for (size_t i = 0; i < FX_ArraySize(expected); ++i) - EXPECT_EQ(expected[i], arr->GetIntegerAt(i)); - arr->Truncate(0); - EXPECT_EQ(0U, arr->GetCount()); - } - { - // When the range is out of bound, Truncate() has no effect. - // It does not try to grow the array. - const int elems[] = {1, 2, 3, 4, 5, 6, 7, 8, 9, 10}; - auto arr = pdfium::MakeUnique<CPDF_Array>(); - for (size_t i = 0; i < FX_ArraySize(elems); ++i) - arr->AddNew<CPDF_Number>(elems[i]); - arr->Truncate(11); - EXPECT_EQ(FX_ArraySize(elems), arr->GetCount()); - } -} - TEST(cpdf_array, InsertAt) { { const int elems[] = {1, 2, 3, 4, 5, 6, 7, 8, 9, 10}; |