summaryrefslogtreecommitdiff
path: root/core/fpdfapi/parser/cpdf_linearized_header.cpp
diff options
context:
space:
mode:
authorLei Zhang <thestig@chromium.org>2017-11-08 20:47:01 +0000
committerChromium commit bot <commit-bot@chromium.org>2017-11-08 20:47:01 +0000
commitb5d688b8852d2fd3bf8b5c3f367c5941dda18401 (patch)
tree544fe56e32bd55f91a5093cff394e508dff1b9db /core/fpdfapi/parser/cpdf_linearized_header.cpp
parentf96dfed065f9c6789811f43b69cd5ab4d85466ac (diff)
downloadpdfium-b5d688b8852d2fd3bf8b5c3f367c5941dda18401.tar.xz
Make most CPDF_LinearizedHeader members const.chromium/3263
Change-Id: I82907ad725861b9ccd6299f5dfe20ddb9d238178 Reviewed-on: https://pdfium-review.googlesource.com/17796 Reviewed-by: dsinclair <dsinclair@chromium.org> Commit-Queue: Lei Zhang <thestig@chromium.org>
Diffstat (limited to 'core/fpdfapi/parser/cpdf_linearized_header.cpp')
-rw-r--r--core/fpdfapi/parser/cpdf_linearized_header.cpp29
1 files changed, 16 insertions, 13 deletions
diff --git a/core/fpdfapi/parser/cpdf_linearized_header.cpp b/core/fpdfapi/parser/cpdf_linearized_header.cpp
index ce22c55f48..3251a5eb9f 100644
--- a/core/fpdfapi/parser/cpdf_linearized_header.cpp
+++ b/core/fpdfapi/parser/cpdf_linearized_header.cpp
@@ -70,22 +70,25 @@ std::unique_ptr<CPDF_LinearizedHeader> CPDF_LinearizedHeader::Parse(
if (parser->GetNextWord(nullptr) != "endobj")
return nullptr;
- auto result = pdfium::WrapUnique(new CPDF_LinearizedHeader(pDict.get()));
- result->m_szLastXRefOffset = parser->GetPos();
+ auto result = pdfium::WrapUnique(
+ new CPDF_LinearizedHeader(pDict.get(), parser->GetPos()));
- return IsLinearizedHeaderValid(result.get(),
- parser->GetFileAccess()->GetSize())
- ? std::move(result)
- : nullptr;
+ if (!IsLinearizedHeaderValid(result.get(),
+ parser->GetFileAccess()->GetSize())) {
+ return nullptr;
+ }
+ return result;
}
-CPDF_LinearizedHeader::CPDF_LinearizedHeader(const CPDF_Dictionary* pDict) {
- m_szFileSize = pDict->GetIntegerFor("L");
- m_dwFirstPageNo = pDict->GetIntegerFor("P");
- m_szMainXRefTableFirstEntryOffset = pDict->GetIntegerFor("T");
- m_PageCount = pDict->GetIntegerFor("N");
- m_szFirstPageEndOffset = pDict->GetIntegerFor("E");
- m_FirstPageObjNum = pDict->GetIntegerFor("O");
+CPDF_LinearizedHeader::CPDF_LinearizedHeader(const CPDF_Dictionary* pDict,
+ FX_FILESIZE szLastXRefOffset)
+ : m_szFileSize(pDict->GetIntegerFor("L")),
+ m_dwFirstPageNo(pDict->GetIntegerFor("P")),
+ m_szMainXRefTableFirstEntryOffset(pDict->GetIntegerFor("T")),
+ m_PageCount(pDict->GetIntegerFor("N")),
+ m_szFirstPageEndOffset(pDict->GetIntegerFor("E")),
+ m_FirstPageObjNum(pDict->GetIntegerFor("O")),
+ m_szLastXRefOffset(szLastXRefOffset) {
const CPDF_Array* pHintStreamRange = pDict->GetArrayFor("H");
const size_t nHintStreamSize =
pHintStreamRange ? pHintStreamRange->GetCount() : 0;