| Index: core/src/fpdfapi/fpdf_edit/fpdf_edit_create.cpp
|
| diff --git a/core/src/fpdfapi/fpdf_edit/fpdf_edit_create.cpp b/core/src/fpdfapi/fpdf_edit/fpdf_edit_create.cpp
|
| index 328728ef2410f01b67fbe4d1ccbbc5edb83f7c29..654d9680100c5dac49944ab8647e124505da7e7b 100644
|
| --- a/core/src/fpdfapi/fpdf_edit/fpdf_edit_create.cpp
|
| +++ b/core/src/fpdfapi/fpdf_edit/fpdf_edit_create.cpp
|
| @@ -108,10 +108,9 @@ int32_t PDF_CreatorAppendObject(const CPDF_Object* pObj,
|
| }
|
| offset += 2;
|
| const CPDF_Dictionary* p = pObj->AsDictionary();
|
| - FX_POSITION pos = p->GetStartPos();
|
| - while (pos) {
|
| - CFX_ByteString key;
|
| - CPDF_Object* pValue = p->GetNextElement(pos, key);
|
| + for (const auto& it : *p) {
|
| + const CFX_ByteString& key = it.first;
|
| + CPDF_Object* pValue = it.second;
|
| if (pFile->AppendString("/") < 0) {
|
| return -1;
|
| }
|
| @@ -179,10 +178,9 @@ int32_t PDF_CreatorWriteTrailer(CPDF_Document* pDocument,
|
| CPDF_Parser* pParser = (CPDF_Parser*)pDocument->GetParser();
|
| if (pParser) {
|
| CPDF_Dictionary* p = pParser->GetTrailer();
|
| - FX_POSITION pos = p->GetStartPos();
|
| - while (pos) {
|
| - CFX_ByteString key;
|
| - CPDF_Object* pValue = p->GetNextElement(pos, key);
|
| + for (const auto& it : *p) {
|
| + const CFX_ByteString& key = it.first;
|
| + CPDF_Object* pValue = it.second;
|
| if (key == "Encrypt" || key == "Size" || key == "Filter" ||
|
| key == "Index" || key == "Length" || key == "Prev" || key == "W" ||
|
| key == "XRefStm" || key == "Type" || key == "ID") {
|
| @@ -1209,11 +1207,10 @@ int32_t CPDF_Creator::WriteDirectObj(FX_DWORD objnum,
|
| m_Offset += 2;
|
| const CPDF_Dictionary* p = pObj->AsDictionary();
|
| FX_BOOL bSignDict = IsSignatureDict(p);
|
| - FX_POSITION pos = p->GetStartPos();
|
| - while (pos) {
|
| + for (const auto& it : *p) {
|
| FX_BOOL bSignValue = FALSE;
|
| - CFX_ByteString key;
|
| - CPDF_Object* pValue = p->GetNextElement(pos, key);
|
| + const CFX_ByteString& key = it.first;
|
| + CPDF_Object* pValue = it.second;
|
| if (m_File.AppendString("/") < 0) {
|
| return -1;
|
| }
|
| @@ -1786,10 +1783,9 @@ int32_t CPDF_Creator::WriteDoc_Stage4(IFX_Pause* pPause) {
|
| }
|
| if (m_pParser) {
|
| CPDF_Dictionary* p = m_pParser->m_pTrailer;
|
| - FX_POSITION pos = p->GetStartPos();
|
| - while (pos) {
|
| - CFX_ByteString key;
|
| - CPDF_Object* pValue = p->GetNextElement(pos, key);
|
| + for (const auto& it : *p) {
|
| + const CFX_ByteString& key = it.first;
|
| + CPDF_Object* pValue = it.second;
|
| if (key == "Encrypt" || key == "Size" || key == "Filter" ||
|
| key == "Index" || key == "Length" || key == "Prev" || key == "W" ||
|
| key == "XRefStm" || key == "ID") {
|
|
|