Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(146)

Unified Diff: core/src/fpdfapi/fpdf_parser/fpdf_parser_parser.cpp

Issue 1417583007: Merge to XFA: Use static_cast for various CPDF_Object conversions. (Closed) Base URL: https://pdfium.googlesource.com/pdfium.git@xfa
Patch Set: Created 5 years, 2 months ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View side-by-side diff with in-line comments
Download patch
« no previous file with comments | « core/src/fpdfapi/fpdf_parser/fpdf_parser_objects.cpp ('k') | core/src/fpdfdoc/doc_form.cpp » ('j') | no next file with comments »
Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
Index: core/src/fpdfapi/fpdf_parser/fpdf_parser_parser.cpp
diff --git a/core/src/fpdfapi/fpdf_parser/fpdf_parser_parser.cpp b/core/src/fpdfapi/fpdf_parser/fpdf_parser_parser.cpp
index 8c1a123950aee3fcf4f865636f4bb613911a9e48..c1b78f1d815da95fc27ee46f862dbc7b6bb0edf5 100644
--- a/core/src/fpdfapi/fpdf_parser/fpdf_parser_parser.cpp
+++ b/core/src/fpdfapi/fpdf_parser/fpdf_parser_parser.cpp
@@ -2046,9 +2046,8 @@ CPDF_Object* CPDF_SyntaxParser::GetObject(CPDF_IndirectObjects* pObjList,
FX_BOOL bIsNumber;
CFX_ByteString word = GetNextWord(bIsNumber);
if (word.GetLength() == 0) {
- if (bTypeOnly) {
+ if (bTypeOnly)
return (CPDF_Object*)PDFOBJ_INVALID;
- }
return NULL;
}
if (bIsNumber) {
@@ -2058,34 +2057,29 @@ CPDF_Object* CPDF_SyntaxParser::GetObject(CPDF_IndirectObjects* pObjList,
CFX_ByteString nextword2 = GetNextWord(bIsNumber);
if (nextword2 == FX_BSTRC("R")) {
FX_DWORD objnum = FXSYS_atoi(word);
- if (bTypeOnly) {
+ if (bTypeOnly)
return (CPDF_Object*)PDFOBJ_REFERENCE;
- }
return new CPDF_Reference(pObjList, objnum);
}
}
m_Pos = SavedPos;
- if (bTypeOnly) {
+ if (bTypeOnly)
return (CPDF_Object*)PDFOBJ_NUMBER;
- }
return CPDF_Number::Create(word);
}
if (word == FX_BSTRC("true") || word == FX_BSTRC("false")) {
- if (bTypeOnly) {
+ if (bTypeOnly)
return (CPDF_Object*)PDFOBJ_BOOLEAN;
- }
return CPDF_Boolean::Create(word == FX_BSTRC("true"));
}
if (word == FX_BSTRC("null")) {
- if (bTypeOnly) {
+ if (bTypeOnly)
return (CPDF_Object*)PDFOBJ_NULL;
- }
return CPDF_Null::Create();
}
if (word == FX_BSTRC("(")) {
- if (bTypeOnly) {
+ if (bTypeOnly)
return (CPDF_Object*)PDFOBJ_STRING;
- }
CFX_ByteString str = ReadString();
if (m_pCryptoHandler && bDecrypt) {
m_pCryptoHandler->Decrypt(objnum, gennum, str);
@@ -2093,9 +2087,8 @@ CPDF_Object* CPDF_SyntaxParser::GetObject(CPDF_IndirectObjects* pObjList,
return CPDF_String::Create(str, FALSE);
}
if (word == FX_BSTRC("<")) {
- if (bTypeOnly) {
+ if (bTypeOnly)
return (CPDF_Object*)PDFOBJ_STRING;
- }
CFX_ByteString str = ReadHexString();
if (m_pCryptoHandler && bDecrypt) {
m_pCryptoHandler->Decrypt(objnum, gennum, str);
@@ -2103,9 +2096,8 @@ CPDF_Object* CPDF_SyntaxParser::GetObject(CPDF_IndirectObjects* pObjList,
return CPDF_String::Create(str, TRUE);
}
if (word == FX_BSTRC("[")) {
- if (bTypeOnly) {
+ if (bTypeOnly)
return (CPDF_Object*)PDFOBJ_ARRAY;
- }
CPDF_Array* pArray = CPDF_Array::Create();
while (CPDF_Object* pObj = GetObject(pObjList, objnum, gennum))
pArray->Add(pObj);
@@ -2113,9 +2105,8 @@ CPDF_Object* CPDF_SyntaxParser::GetObject(CPDF_IndirectObjects* pObjList,
return pArray;
}
if (word[0] == '/') {
- if (bTypeOnly) {
+ if (bTypeOnly)
return (CPDF_Object*)PDFOBJ_NAME;
- }
return CPDF_Name::Create(
PDF_NameDecode(CFX_ByteStringC(m_WordBuffer + 1, m_WordSize - 1)));
}
@@ -2219,10 +2210,9 @@ CPDF_Object* CPDF_SyntaxParser::GetObjectByStrict(
FX_BOOL bIsNumber;
CFX_ByteString word = GetNextWord(bIsNumber);
if (word.GetLength() == 0) {
- if (bTypeOnly) {
+ if (bTypeOnly)
return (CPDF_Object*)PDFOBJ_INVALID;
- }
- return NULL;
+ return nullptr;
}
if (bIsNumber) {
FX_FILESIZE SavedPos = m_Pos;
@@ -2230,55 +2220,46 @@ CPDF_Object* CPDF_SyntaxParser::GetObjectByStrict(
if (bIsNumber) {
CFX_ByteString nextword2 = GetNextWord(bIsNumber);
if (nextword2 == FX_BSTRC("R")) {
- if (bTypeOnly) {
+ if (bTypeOnly)
return (CPDF_Object*)PDFOBJ_REFERENCE;
- }
FX_DWORD objnum = FXSYS_atoi(word);
return new CPDF_Reference(pObjList, objnum);
}
}
m_Pos = SavedPos;
- if (bTypeOnly) {
+ if (bTypeOnly)
return (CPDF_Object*)PDFOBJ_NUMBER;
- }
return CPDF_Number::Create(word);
}
if (word == FX_BSTRC("true") || word == FX_BSTRC("false")) {
- if (bTypeOnly) {
+ if (bTypeOnly)
return (CPDF_Object*)PDFOBJ_BOOLEAN;
- }
return CPDF_Boolean::Create(word == FX_BSTRC("true"));
}
if (word == FX_BSTRC("null")) {
- if (bTypeOnly) {
+ if (bTypeOnly)
return (CPDF_Object*)PDFOBJ_NULL;
- }
return CPDF_Null::Create();
}
if (word == FX_BSTRC("(")) {
- if (bTypeOnly) {
+ if (bTypeOnly)
return (CPDF_Object*)PDFOBJ_STRING;
- }
CFX_ByteString str = ReadString();
- if (m_pCryptoHandler) {
+ if (m_pCryptoHandler)
m_pCryptoHandler->Decrypt(objnum, gennum, str);
- }
return CPDF_String::Create(str, FALSE);
}
if (word == FX_BSTRC("<")) {
- if (bTypeOnly) {
+ if (bTypeOnly)
return (CPDF_Object*)PDFOBJ_STRING;
- }
CFX_ByteString str = ReadHexString();
- if (m_pCryptoHandler) {
+ if (m_pCryptoHandler)
m_pCryptoHandler->Decrypt(objnum, gennum, str);
- }
return CPDF_String::Create(str, TRUE);
}
if (word == FX_BSTRC("[")) {
- if (bTypeOnly) {
+ if (bTypeOnly)
return (CPDF_Object*)PDFOBJ_ARRAY;
- }
nonstd::unique_ptr<CPDF_Array, ReleaseDeleter<CPDF_Array>> pArray(
CPDF_Array::Create());
while (CPDF_Object* pObj = GetObject(pObjList, objnum, gennum))
@@ -2286,19 +2267,17 @@ CPDF_Object* CPDF_SyntaxParser::GetObjectByStrict(
return m_WordBuffer[0] == ']' ? pArray.release() : nullptr;
}
if (word[0] == '/') {
- if (bTypeOnly) {
+ if (bTypeOnly)
return (CPDF_Object*)PDFOBJ_NAME;
- }
return CPDF_Name::Create(
PDF_NameDecode(CFX_ByteStringC(m_WordBuffer + 1, m_WordSize - 1)));
}
if (word == FX_BSTRC("<<")) {
- if (bTypeOnly) {
+ if (bTypeOnly)
return (CPDF_Object*)PDFOBJ_DICTIONARY;
- }
- if (pContext) {
+ if (pContext)
pContext->m_DictStart = SavedPos;
- }
+
nonstd::unique_ptr<CPDF_Dictionary, ReleaseDeleter<CPDF_Dictionary>> pDict(
CPDF_Dictionary::Create());
while (1) {
@@ -2354,7 +2333,6 @@ CPDF_Object* CPDF_SyntaxParser::GetObjectByStrict(
}
if (bTypeOnly)
return (CPDF_Object*)PDFOBJ_INVALID;
-
return nullptr;
}
@@ -2991,7 +2969,7 @@ CPDF_DataAvail::~CPDF_DataAvail() {
int32_t i = 0;
int32_t iSize = m_arrayAcroforms.GetSize();
for (i = 0; i < iSize; ++i) {
- ((CPDF_Object*)m_arrayAcroforms.GetAt(i))->Release();
+ static_cast<CPDF_Object*>(m_arrayAcroforms.GetAt(i))->Release();
}
}
void CPDF_DataAvail::SetDocument(CPDF_Document* pDoc) {
@@ -3039,10 +3017,10 @@ FX_BOOL CPDF_DataAvail::IsObjectsAvail(CFX_PtrArray& obj_array,
CFX_PtrArray new_obj_array;
int32_t i = 0;
for (i = 0; i < obj_array.GetSize(); i++) {
- CPDF_Object* pObj = (CPDF_Object*)obj_array[i];
- if (!pObj) {
+ CPDF_Object* pObj = static_cast<CPDF_Object*>(obj_array[i]);
+ if (!pObj)
continue;
- }
+
int32_t type = pObj->GetType();
switch (type) {
case PDFOBJ_ARRAY: {
@@ -3110,7 +3088,7 @@ FX_BOOL CPDF_DataAvail::IsObjectsAvail(CFX_PtrArray& obj_array,
if (count > 0) {
int32_t iSize = new_obj_array.GetSize();
for (i = 0; i < iSize; ++i) {
- CPDF_Object* pObj = (CPDF_Object*)new_obj_array[i];
+ CPDF_Object* pObj = static_cast<CPDF_Object*>(new_obj_array[i]);
if (CPDF_Reference* pRef = pObj->AsReference()) {
FX_DWORD dwNum = pRef->GetRefObjNum();
if (!m_objnum_array.Find(dwNum))
@@ -3156,7 +3134,7 @@ FX_BOOL CPDF_DataAvail::CheckAcroFormSubObject(IFX_DownloadHints* pHints) {
if (bRet) {
int32_t iSize = m_arrayAcroforms.GetSize();
for (int32_t i = 0; i < iSize; ++i) {
- ((CPDF_Object*)m_arrayAcroforms.GetAt(i))->Release();
+ static_cast<CPDF_Object*>(m_arrayAcroforms.GetAt(i))->Release();
}
m_arrayAcroforms.RemoveAll();
} else {
@@ -3469,14 +3447,14 @@ FX_BOOL CPDF_DataAvail::CheckPage(IFX_DownloadHints* pHints) {
}
FX_DWORD iPages = m_PagesArray.GetSize();
for (FX_DWORD i = 0; i < iPages; i++) {
- CPDF_Object* pPages = (CPDF_Object*)m_PagesArray.GetAt(i);
- if (!pPages) {
+ CPDF_Object* pPages = static_cast<CPDF_Object*>(m_PagesArray.GetAt(i));
+ if (!pPages)
continue;
- }
+
if (!GetPageKids(m_pCurrentParser, pPages)) {
pPages->Release();
while (++i < iPages) {
- pPages = (CPDF_Object*)m_PagesArray.GetAt(i);
+ pPages = static_cast<CPDF_Object*>(m_PagesArray.GetAt(i));
pPages->Release();
}
m_PagesArray.RemoveAll();
« no previous file with comments | « core/src/fpdfapi/fpdf_parser/fpdf_parser_objects.cpp ('k') | core/src/fpdfdoc/doc_form.cpp » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698