summaryrefslogtreecommitdiff
path: root/core/fpdfapi
diff options
context:
space:
mode:
Diffstat (limited to 'core/fpdfapi')
-rw-r--r--core/fpdfapi/parser/cpdf_data_avail.cpp38
1 files changed, 11 insertions, 27 deletions
diff --git a/core/fpdfapi/parser/cpdf_data_avail.cpp b/core/fpdfapi/parser/cpdf_data_avail.cpp
index bc81e991ca..88755a9eb7 100644
--- a/core/fpdfapi/parser/cpdf_data_avail.cpp
+++ b/core/fpdfapi/parser/cpdf_data_avail.cpp
@@ -57,17 +57,12 @@ class HintsAssigner {
HintsAssigner(CPDF_ReadValidator* validator,
CPDF_DataAvail::DownloadHints* hints)
: validator_(validator) {
- if (validator_) {
- validator_->ResetErrors();
- validator_->SetDownloadHints(hints);
- }
+ ASSERT(validator_);
+ validator_->ResetErrors();
+ validator_->SetDownloadHints(hints);
}
- ~HintsAssigner() {
- if (validator_) {
- validator_->SetDownloadHints(nullptr);
- }
- }
+ ~HintsAssigner() { validator_->SetDownloadHints(nullptr); }
private:
CFX_UnownedPtr<CPDF_ReadValidator> validator_;
@@ -83,16 +78,11 @@ CPDF_DataAvail::CPDF_DataAvail(
FileAvail* pFileAvail,
const CFX_RetainPtr<IFX_SeekableReadStream>& pFileRead,
bool bSupportHintTable)
- : m_pFileAvail(pFileAvail),
- m_pFileRead(
- pFileRead
- ? pdfium::MakeRetain<CPDF_ReadValidator>(pFileRead, m_pFileAvail)
- : nullptr) {
+ : m_pFileAvail(pFileAvail) {
+ ASSERT(pFileRead);
+ m_pFileRead = pdfium::MakeRetain<CPDF_ReadValidator>(pFileRead, m_pFileAvail);
m_Pos = 0;
- m_dwFileLen = 0;
- if (m_pFileRead) {
- m_dwFileLen = (uint32_t)m_pFileRead->GetSize();
- }
+ m_dwFileLen = m_pFileRead->GetSize();
m_dwCurrentOffset = 0;
m_dwXRefOffset = 0;
m_dwTrailerOffset = 0;
@@ -237,13 +227,10 @@ bool CPDF_DataAvail::AreObjectsAvailable(std::vector<CPDF_Object*>& obj_array,
CPDF_DataAvail::DocAvailStatus CPDF_DataAvail::IsDocAvail(
DownloadHints* pHints) {
- const HintsAssigner hints_assigner(m_pFileRead.Get(), pHints);
+ if (!m_dwFileLen)
+ return DataError;
- if (!m_dwFileLen && m_pFileRead) {
- m_dwFileLen = (uint32_t)m_pFileRead->GetSize();
- if (!m_dwFileLen)
- return DataError;
- }
+ const HintsAssigner hints_assigner(m_pFileRead.Get(), pHints);
while (!m_bDocAvail) {
if (!CheckDocStatus(pHints))
@@ -744,9 +731,6 @@ CPDF_DataAvail::DocLinearizationStatus CPDF_DataAvail::IsLinearizedPDF() {
if (!m_pFileAvail->IsDataAvail(0, kReqSize))
return LinearizationUnknown;
- if (!m_pFileRead)
- return NotLinearized;
-
FX_FILESIZE dwSize = m_pFileRead->GetSize();
if (dwSize < (FX_FILESIZE)kReqSize)
return LinearizationUnknown;