diff options
author | Dan Sinclair <dsinclair@chromium.org> | 2015-10-21 11:01:01 -0400 |
---|---|---|
committer | Dan Sinclair <dsinclair@chromium.org> | 2015-10-21 11:01:01 -0400 |
commit | 83bf02dfb860a66d756434d194118dae572d04d3 (patch) | |
tree | 64647a3ca2708fad1c50235943da63f22ea66a1d /core/src/fpdfdoc/doc_tagged.cpp | |
parent | 8430a5d04883fac4666d0c321fc679bcaf99cb71 (diff) | |
download | pdfium-83bf02dfb860a66d756434d194118dae572d04d3.tar.xz |
Add type cast definitions for CPDF_Number.
This Cl adds ToNumber, CPDF_Object::AsNumber and CPDF_Object::IsNumber and
updates the src to use them as needed.
BUG=pdfium:201
R=thestig@chromium.org
Review URL: https://codereview.chromium.org/1410673005 .
Diffstat (limited to 'core/src/fpdfdoc/doc_tagged.cpp')
-rw-r--r-- | core/src/fpdfdoc/doc_tagged.cpp | 17 |
1 files changed, 6 insertions, 11 deletions
diff --git a/core/src/fpdfdoc/doc_tagged.cpp b/core/src/fpdfdoc/doc_tagged.cpp index fb3a05d59f..d9d439f730 100644 --- a/core/src/fpdfdoc/doc_tagged.cpp +++ b/core/src/fpdfdoc/doc_tagged.cpp @@ -254,10 +254,10 @@ void CPDF_StructElementImpl::LoadKid(FX_DWORD PageObjNum, CPDF_Object* pKidObj, CPDF_StructKid* pKid) { pKid->m_Type = CPDF_StructKid::Invalid; - if (pKidObj == NULL) { + if (!pKidObj) return; - } - if (pKidObj->GetType() == PDFOBJ_NUMBER) { + + if (pKidObj->IsNumber()) { if (m_pTree->m_pPage && m_pTree->m_pPage->GetObjNum() != PageObjNum) { return; } @@ -266,6 +266,7 @@ void CPDF_StructElementImpl::LoadKid(FX_DWORD PageObjNum, pKid->m_PageContent.m_PageObjNum = PageObjNum; return; } + CPDF_Dictionary* pKidDict = pKidObj->AsDictionary(); if (!pKidDict) return; @@ -441,10 +442,7 @@ FX_FLOAT CPDF_StructElementImpl::GetNumber(const CFX_ByteStringC& owner, FX_BOOL bInheritable, int subindex) { CPDF_Object* pAttr = GetAttr(owner, name, bInheritable, subindex); - if (pAttr == NULL || pAttr->GetType() != PDFOBJ_NUMBER) { - return default_value; - } - return pAttr->GetNumber(); + return ToNumber(pAttr) ? pAttr->GetNumber() : default_value; } int CPDF_StructElementImpl::GetInteger(const CFX_ByteStringC& owner, const CFX_ByteStringC& name, @@ -452,8 +450,5 @@ int CPDF_StructElementImpl::GetInteger(const CFX_ByteStringC& owner, FX_BOOL bInheritable, int subindex) { CPDF_Object* pAttr = GetAttr(owner, name, bInheritable, subindex); - if (pAttr == NULL || pAttr->GetType() != PDFOBJ_NUMBER) { - return default_value; - } - return pAttr->GetInteger(); + return ToNumber(pAttr) ? pAttr->GetInteger() : default_value; } |