| Index: fpdfsdk/src/fpdfppo.cpp
|
| diff --git a/fpdfsdk/src/fpdfppo.cpp b/fpdfsdk/src/fpdfppo.cpp
|
| index 50ef2625606430f213755b3d8d202019e25f120b..dac548131e7596292bf3e3f795231718d0e08b0a 100644
|
| --- a/fpdfsdk/src/fpdfppo.cpp
|
| +++ b/fpdfsdk/src/fpdfppo.cpp
|
| @@ -101,10 +101,9 @@ FX_BOOL CPDF_PageOrganizer::ExportPage(CPDF_Document* pSrcPDFDoc,
|
| return FALSE;
|
|
|
| // Clone the page dictionary
|
| - FX_POSITION SrcPos = pSrcPageDict->GetStartPos();
|
| - while (SrcPos) {
|
| - CFX_ByteString cbSrcKeyStr;
|
| - CPDF_Object* pObj = pSrcPageDict->GetNextElement(SrcPos, cbSrcKeyStr);
|
| + for (const auto& it : *pSrcPageDict) {
|
| + const CFX_ByteString& cbSrcKeyStr = it.first;
|
| + CPDF_Object* pObj = it.second;
|
| if (cbSrcKeyStr.Compare(("Type")) && cbSrcKeyStr.Compare(("Parent"))) {
|
| if (pCurPageDict->KeyExist(cbSrcKeyStr))
|
| pCurPageDict->RemoveAt(cbSrcKeyStr);
|
| @@ -214,11 +213,9 @@ FX_BOOL CPDF_PageOrganizer::UpdateReference(CPDF_Object* pObj,
|
| }
|
| case PDFOBJ_DICTIONARY: {
|
| CPDF_Dictionary* pDict = pObj->AsDictionary();
|
| -
|
| - FX_POSITION pos = pDict->GetStartPos();
|
| - while (pos) {
|
| - CFX_ByteString key("");
|
| - CPDF_Object* pNextObj = pDict->GetNextElement(pos, key);
|
| + for (const auto& it : *pDict) {
|
| + const CFX_ByteString& key = it.first;
|
| + CPDF_Object* pNextObj = it.second;
|
| if (!FXSYS_strcmp(key, "Parent") || !FXSYS_strcmp(key, "Prev") ||
|
| !FXSYS_strcmp(key, "First")) {
|
| continue;
|
|
|