Make CPDF_PageOrganizer::UpdateReference() slightly more compact.
Change-Id: Icfa4ba98539ea090800b60a3cdce6a11d2abd82a
Reviewed-on: https://pdfium-review.googlesource.com/c/pdfium/+/52176
Reviewed-by: Tom Sepez <tsepez@chromium.org>
Commit-Queue: Lei Zhang <thestig@chromium.org>
diff --git a/fpdfsdk/fpdf_ppo.cpp b/fpdfsdk/fpdf_ppo.cpp
index 5f35eba..b9200b9 100644
--- a/fpdfsdk/fpdf_ppo.cpp
+++ b/fpdfsdk/fpdf_ppo.cpp
@@ -354,18 +354,18 @@
if (newobjnum == 0)
return false;
pReference->SetRef(dest(), newobjnum);
- break;
+ return true;
}
case CPDF_Object::kDictionary: {
CPDF_Dictionary* pDict = pObj->AsDictionary();
std::vector<ByteString> bad_keys;
{
CPDF_DictionaryLocker locker(pDict);
- for (auto it = locker.begin(); it != locker.end(); ++it) {
- const ByteString& key = it->first;
+ for (const auto& it : locker) {
+ const ByteString& key = it.first;
if (key == "Parent" || key == "Prev" || key == "First")
continue;
- CPDF_Object* pNextObj = it->second.get();
+ CPDF_Object* pNextObj = it.second.get();
if (!pNextObj)
return false;
if (!UpdateReference(pNextObj))
@@ -374,33 +374,25 @@
}
for (const auto& key : bad_keys)
pDict->RemoveFor(key);
- break;
+ return true;
}
case CPDF_Object::kArray: {
CPDF_Array* pArray = pObj->AsArray();
for (size_t i = 0; i < pArray->size(); ++i) {
CPDF_Object* pNextObj = pArray->GetObjectAt(i);
- if (!pNextObj)
- return false;
- if (!UpdateReference(pNextObj))
+ if (!pNextObj || !UpdateReference(pNextObj))
return false;
}
- break;
+ return true;
}
case CPDF_Object::kStream: {
CPDF_Stream* pStream = pObj->AsStream();
CPDF_Dictionary* pDict = pStream->GetDict();
- if (!pDict)
- return false;
- if (!UpdateReference(pDict))
- return false;
- break;
+ return pDict && UpdateReference(pDict);
}
default:
- break;
+ return true;
}
-
- return true;
}
uint32_t CPDF_PageOrganizer::GetNewObjId(CPDF_Reference* pRef) {