| Index: core/fpdfapi/fpdf_parser/cpdf_array.cpp
|
| diff --git a/core/fpdfapi/fpdf_parser/cpdf_array.cpp b/core/fpdfapi/fpdf_parser/cpdf_array.cpp
|
| index 5e103fa423ccd7cdba685bb8c6ad61fca0696258..da935af47ddbdfe912445d283932605a3223a2c0 100644
|
| --- a/core/fpdfapi/fpdf_parser/cpdf_array.cpp
|
| +++ b/core/fpdfapi/fpdf_parser/cpdf_array.cpp
|
| @@ -13,6 +13,7 @@
|
| #include "core/fpdfapi/fpdf_parser/include/cpdf_reference.h"
|
| #include "core/fpdfapi/fpdf_parser/include/cpdf_stream.h"
|
| #include "core/fpdfapi/fpdf_parser/include/cpdf_string.h"
|
| +#include "third_party/base/logging.h"
|
| #include "third_party/base/stl_util.h"
|
|
|
| CPDF_Array::CPDF_Array() {}
|
| @@ -145,30 +146,22 @@ void CPDF_Array::RemoveAt(size_t i, size_t nCount) {
|
| m_Objects.erase(m_Objects.begin() + i, m_Objects.begin() + i + nCount);
|
| }
|
|
|
| -void CPDF_Array::SetAt(size_t i,
|
| - CPDF_Object* pObj,
|
| - CPDF_IndirectObjectHolder* pObjs) {
|
| +void CPDF_Array::SetAt(size_t i, CPDF_Object* pObj) {
|
| ASSERT(IsArray());
|
| + CHECK(!pObj || pObj->GetObjNum() == 0);
|
| if (i >= m_Objects.size()) {
|
| ASSERT(false);
|
| return;
|
| }
|
| if (CPDF_Object* pOld = m_Objects[i])
|
| pOld->Release();
|
| - if (pObj->GetObjNum()) {
|
| - ASSERT(pObjs);
|
| - pObj = new CPDF_Reference(pObjs, pObj->GetObjNum());
|
| - }
|
| +
|
| m_Objects[i] = pObj;
|
| }
|
|
|
| -void CPDF_Array::InsertAt(size_t index,
|
| - CPDF_Object* pObj,
|
| - CPDF_IndirectObjectHolder* pObjs) {
|
| - if (pObj->GetObjNum()) {
|
| - ASSERT(pObjs);
|
| - pObj = new CPDF_Reference(pObjs, pObj->GetObjNum());
|
| - }
|
| +void CPDF_Array::InsertAt(size_t index, CPDF_Object* pObj) {
|
| + ASSERT(IsArray());
|
| + CHECK(!pObj || pObj->GetObjNum() == 0);
|
| if (index >= m_Objects.size()) {
|
| // Allocate space first.
|
| m_Objects.resize(index + 1, nullptr);
|
| @@ -179,37 +172,29 @@ void CPDF_Array::InsertAt(size_t index,
|
| }
|
| }
|
|
|
| -void CPDF_Array::Add(CPDF_Object* pObj, CPDF_IndirectObjectHolder* pObjs) {
|
| - if (pObj->GetObjNum()) {
|
| - ASSERT(pObjs);
|
| - pObj = new CPDF_Reference(pObjs, pObj->GetObjNum());
|
| - }
|
| +void CPDF_Array::Add(CPDF_Object* pObj) {
|
| + ASSERT(IsArray());
|
| + CHECK(!pObj || pObj->GetObjNum() == 0);
|
| m_Objects.push_back(pObj);
|
| }
|
|
|
| void CPDF_Array::AddName(const CFX_ByteString& str) {
|
| - ASSERT(IsArray());
|
| Add(new CPDF_Name(str));
|
| }
|
|
|
| void CPDF_Array::AddString(const CFX_ByteString& str) {
|
| - ASSERT(IsArray());
|
| Add(new CPDF_String(str, FALSE));
|
| }
|
|
|
| void CPDF_Array::AddInteger(int i) {
|
| - ASSERT(IsArray());
|
| Add(new CPDF_Number(i));
|
| }
|
|
|
| void CPDF_Array::AddNumber(FX_FLOAT f) {
|
| - ASSERT(IsArray());
|
| - CPDF_Number* pNumber = new CPDF_Number(f);
|
| - Add(pNumber);
|
| + Add(new CPDF_Number(f));
|
| }
|
|
|
| void CPDF_Array::AddReference(CPDF_IndirectObjectHolder* pDoc,
|
| uint32_t objnum) {
|
| - ASSERT(IsArray());
|
| Add(new CPDF_Reference(pDoc, objnum));
|
| }
|
|
|