Index: fpdfsdk/src/fpdfppo.cpp |
diff --git a/fpdfsdk/src/fpdfppo.cpp b/fpdfsdk/src/fpdfppo.cpp |
index c05c7f35f0ac6150fd8710ee75f4a9e29d9ec889..84ac41d60e7bbca4a52d9c1567c3562995fccc2a 100644 |
--- a/fpdfsdk/src/fpdfppo.cpp |
+++ b/fpdfsdk/src/fpdfppo.cpp |
@@ -9,6 +9,7 @@ |
#include <memory> |
#include "fpdfsdk/include/fsdk_define.h" |
+#include "third_party/base/stl_util.h" |
class CPDF_PageOrganizer { |
public: |
@@ -18,7 +19,7 @@ class CPDF_PageOrganizer { |
FX_BOOL PDFDocInit(CPDF_Document* pDestPDFDoc, CPDF_Document* pSrcPDFDoc); |
FX_BOOL ExportPage(CPDF_Document* pSrcPDFDoc, |
- CFX_WordArray* nPageNum, |
+ std::vector<FX_WORD>* pPageNums, |
CPDF_Document* pDestPDFDoc, |
int nIndex); |
CPDF_Object* PageDictGetInheritableTag(CPDF_Dictionary* pDict, |
@@ -87,16 +88,15 @@ FX_BOOL CPDF_PageOrganizer::PDFDocInit(CPDF_Document* pDestPDFDoc, |
} |
FX_BOOL CPDF_PageOrganizer::ExportPage(CPDF_Document* pSrcPDFDoc, |
- CFX_WordArray* nPageNum, |
+ std::vector<FX_WORD>* pPageNums, |
CPDF_Document* pDestPDFDoc, |
int nIndex) { |
int curpage = nIndex; |
- |
std::unique_ptr<ObjectNumberMap> pObjNumberMap(new ObjectNumberMap); |
- |
- for (int i = 0; i < nPageNum->GetSize(); ++i) { |
+ int nSize = pdfium::CollectionSize<int>(*pPageNums); |
+ for (int i = 0; i < nSize; ++i) { |
CPDF_Dictionary* pCurPageDict = pDestPDFDoc->CreateNewPage(curpage); |
- CPDF_Dictionary* pSrcPageDict = pSrcPDFDoc->GetPage(nPageNum->GetAt(i) - 1); |
+ CPDF_Dictionary* pSrcPageDict = pSrcPDFDoc->GetPage(pPageNums->at(i) - 1); |
if (!pSrcPageDict || !pCurPageDict) |
return FALSE; |
@@ -306,7 +306,7 @@ FX_DWORD CPDF_PageOrganizer::GetNewObjId(CPDF_Document* pDoc, |
} |
FPDF_BOOL ParserPageRangeString(CFX_ByteString rangstring, |
- CFX_WordArray* pageArray, |
+ std::vector<FX_WORD>* pageArray, |
int nCount) { |
if (rangstring.GetLength() != 0) { |
rangstring.Remove(' '); |
@@ -329,7 +329,7 @@ FPDF_BOOL ParserPageRangeString(CFX_ByteString rangstring, |
long lPageNum = atol(cbMidRange); |
if (lPageNum <= 0 || lPageNum > nCount) |
return FALSE; |
- pageArray->Add((FX_WORD)lPageNum); |
+ pageArray->push_back((FX_WORD)lPageNum); |
} else { |
int nStartPageNum = atol(cbMidRange.Mid(0, nMid)); |
if (nStartPageNum == 0) |
@@ -346,7 +346,7 @@ FPDF_BOOL ParserPageRangeString(CFX_ByteString rangstring, |
return FALSE; |
} |
for (int i = nStartPageNum; i <= nEndPageNum; ++i) { |
- pageArray->Add(i); |
+ pageArray->push_back(i); |
} |
} |
nStringFrom = nStringTo + 1; |
@@ -367,14 +367,14 @@ DLLEXPORT FPDF_BOOL STDCALL FPDF_ImportPages(FPDF_DOCUMENT dest_doc, |
if (!pSrcDoc) |
return FALSE; |
- CFX_WordArray pageArray; |
+ std::vector<FX_WORD> pageArray; |
int nCount = pSrcDoc->GetPageCount(); |
if (pagerange) { |
if (!ParserPageRangeString(pagerange, &pageArray, nCount)) |
return FALSE; |
} else { |
for (int i = 1; i <= nCount; ++i) { |
- pageArray.Add(i); |
+ pageArray.push_back(i); |
} |
} |