diff options
author | Lei Zhang <thestig@chromium.org> | 2017-11-08 20:47:01 +0000 |
---|---|---|
committer | Chromium commit bot <commit-bot@chromium.org> | 2017-11-08 20:47:01 +0000 |
commit | b5d688b8852d2fd3bf8b5c3f367c5941dda18401 (patch) | |
tree | 544fe56e32bd55f91a5093cff394e508dff1b9db /core/fpdfapi/parser/cpdf_linearized_header.cpp | |
parent | f96dfed065f9c6789811f43b69cd5ab4d85466ac (diff) | |
download | pdfium-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.cpp | 29 |
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; |