summaryrefslogtreecommitdiff
path: root/core/fpdfdoc/cpdf_actionfields.cpp
diff options
context:
space:
mode:
Diffstat (limited to 'core/fpdfdoc/cpdf_actionfields.cpp')
-rw-r--r--core/fpdfdoc/cpdf_actionfields.cpp31
1 files changed, 15 insertions, 16 deletions
diff --git a/core/fpdfdoc/cpdf_actionfields.cpp b/core/fpdfdoc/cpdf_actionfields.cpp
index cee256d3fb..89636bfc23 100644
--- a/core/fpdfdoc/cpdf_actionfields.cpp
+++ b/core/fpdfdoc/cpdf_actionfields.cpp
@@ -19,12 +19,12 @@ size_t CPDF_ActionFields::GetFieldsCount() const {
if (!m_pAction)
return 0;
- CPDF_Dictionary* pDict = m_pAction->GetDict();
+ const CPDF_Dictionary* pDict = m_pAction->GetDict();
if (!pDict)
return 0;
ByteString csType = pDict->GetStringFor("S");
- CPDF_Object* pFields = nullptr;
+ const CPDF_Object* pFields;
if (csType == "Hide")
pFields = pDict->GetDirectObjectFor("T");
else
@@ -36,22 +36,21 @@ size_t CPDF_ActionFields::GetFieldsCount() const {
return 1;
if (pFields->IsString())
return 1;
- if (CPDF_Array* pArray = pFields->AsArray())
- return pArray->GetCount();
- return 0;
+ const CPDF_Array* pArray = pFields->AsArray();
+ return pArray ? pArray->GetCount() : 0;
}
-std::vector<CPDF_Object*> CPDF_ActionFields::GetAllFields() const {
- std::vector<CPDF_Object*> fields;
+std::vector<const CPDF_Object*> CPDF_ActionFields::GetAllFields() const {
+ std::vector<const CPDF_Object*> fields;
if (!m_pAction)
return fields;
- CPDF_Dictionary* pDict = m_pAction->GetDict();
+ const CPDF_Dictionary* pDict = m_pAction->GetDict();
if (!pDict)
return fields;
ByteString csType = pDict->GetStringFor("S");
- CPDF_Object* pFields;
+ const CPDF_Object* pFields;
if (csType == "Hide")
pFields = pDict->GetDirectObjectFor("T");
else
@@ -62,9 +61,9 @@ std::vector<CPDF_Object*> CPDF_ActionFields::GetAllFields() const {
if (pFields->IsDictionary() || pFields->IsString()) {
fields.push_back(pFields);
- } else if (CPDF_Array* pArray = pFields->AsArray()) {
+ } else if (const CPDF_Array* pArray = pFields->AsArray()) {
for (size_t i = 0; i < pArray->GetCount(); ++i) {
- CPDF_Object* pObj = pArray->GetDirectObjectAt(i);
+ const CPDF_Object* pObj = pArray->GetDirectObjectAt(i);
if (pObj)
fields.push_back(pObj);
}
@@ -72,16 +71,16 @@ std::vector<CPDF_Object*> CPDF_ActionFields::GetAllFields() const {
return fields;
}
-CPDF_Object* CPDF_ActionFields::GetField(size_t iIndex) const {
+const CPDF_Object* CPDF_ActionFields::GetField(size_t iIndex) const {
if (!m_pAction)
return nullptr;
- CPDF_Dictionary* pDict = m_pAction->GetDict();
+ const CPDF_Dictionary* pDict = m_pAction->GetDict();
if (!pDict)
return nullptr;
ByteString csType = pDict->GetStringFor("S");
- CPDF_Object* pFields = nullptr;
+ const CPDF_Object* pFields;
if (csType == "Hide")
pFields = pDict->GetDirectObjectFor("T");
else
@@ -90,11 +89,11 @@ CPDF_Object* CPDF_ActionFields::GetField(size_t iIndex) const {
if (!pFields)
return nullptr;
- CPDF_Object* pFindObj = nullptr;
+ const CPDF_Object* pFindObj = nullptr;
if (pFields->IsDictionary() || pFields->IsString()) {
if (iIndex == 0)
pFindObj = pFields;
- } else if (CPDF_Array* pArray = pFields->AsArray()) {
+ } else if (const CPDF_Array* pArray = pFields->AsArray()) {
pFindObj = pArray->GetDirectObjectAt(iIndex);
}
return pFindObj;