summaryrefslogtreecommitdiff
path: root/core/src/fpdfdoc/doc_formcontrol.cpp
diff options
context:
space:
mode:
authorDan Sinclair <dsinclair@chromium.org>2015-10-22 15:02:06 -0400
committerDan Sinclair <dsinclair@chromium.org>2015-10-22 15:02:06 -0400
commit2b11dc1220746d2f6f97a940fc9e4235c8ed4975 (patch)
treee25b2ba13112f4ead789260ee57fe5b40c13b83e /core/src/fpdfdoc/doc_formcontrol.cpp
parentbc6c6723c37772b02de9e6e43fa0fd9439874905 (diff)
downloadpdfium-2b11dc1220746d2f6f97a940fc9e4235c8ed4975.tar.xz
Merge to XFA: Add type cast definitions for CPDF_Array.
This Cl adds ToArray, CPDF_Object::AsArray and CPDF_Object::IsArray and updates the src to use them as needed. BUG=pdfium:201 R=thestig@chromium.org, tsepez@chromium.org Review URL: https://codereview.chromium.org/1417893003 . (cherry picked from commit c2bfc000e502c42c9a3017038fd9104c7997d126) Review URL: https://codereview.chromium.org/1419643005 .
Diffstat (limited to 'core/src/fpdfdoc/doc_formcontrol.cpp')
-rw-r--r--core/src/fpdfdoc/doc_formcontrol.cpp12
1 files changed, 5 insertions, 7 deletions
diff --git a/core/src/fpdfdoc/doc_formcontrol.cpp b/core/src/fpdfdoc/doc_formcontrol.cpp
index c5f47d20cb..35329f9e05 100644
--- a/core/src/fpdfdoc/doc_formcontrol.cpp
+++ b/core/src/fpdfdoc/doc_formcontrol.cpp
@@ -85,15 +85,13 @@ CFX_ByteString CPDF_FormControl::GetCheckedAPState() {
CFX_ByteString csOn = GetOnStateName();
if (GetType() == CPDF_FormField::RadioButton ||
GetType() == CPDF_FormField::CheckBox) {
- CPDF_Object* pOpt = FPDF_GetFieldAttr(m_pField->m_pDict, "Opt");
- if (pOpt != NULL && pOpt->GetType() == PDFOBJ_ARRAY) {
+ if (ToArray(FPDF_GetFieldAttr(m_pField->m_pDict, "Opt"))) {
int iIndex = m_pField->GetControlIndex(this);
csOn.Format("%d", iIndex);
}
}
- if (csOn.IsEmpty()) {
+ if (csOn.IsEmpty())
csOn = "Yes";
- }
return csOn;
}
CFX_WideString CPDF_FormControl::GetExportValue() {
@@ -102,10 +100,10 @@ CFX_WideString CPDF_FormControl::GetExportValue() {
CFX_ByteString csOn = GetOnStateName();
if (GetType() == CPDF_FormField::RadioButton ||
GetType() == CPDF_FormField::CheckBox) {
- CPDF_Object* pOpt = FPDF_GetFieldAttr(m_pField->m_pDict, "Opt");
- if (pOpt != NULL && pOpt->GetType() == PDFOBJ_ARRAY) {
+ if (CPDF_Array* pArray =
+ ToArray(FPDF_GetFieldAttr(m_pField->m_pDict, "Opt"))) {
int iIndex = m_pField->GetControlIndex(this);
- csOn = ((CPDF_Array*)pOpt)->GetString(iIndex);
+ csOn = pArray->GetString(iIndex);
}
}
if (csOn.IsEmpty()) {