diff options
author | Lei Zhang <thestig@chromium.org> | 2017-08-02 17:41:22 -0700 |
---|---|---|
committer | Chromium commit bot <commit-bot@chromium.org> | 2017-08-03 01:05:51 +0000 |
commit | d1a8458e6390103e123e9d265040b3d02c16955b (patch) | |
tree | 3b169237c62b6b6210722ed403314b52aea34d8f /core/fpdfapi/parser/fpdf_parser_utility.h | |
parent | f44812cf6d7559dd2a0bbc25a684e54675f4794d (diff) | |
download | pdfium-d1a8458e6390103e123e9d265040b3d02c16955b.tar.xz |
Avoid a redundant header offset check in CPDF_Parser.
CPDF_Parser::StartLinearizedParse() calls StartParse(), but already
knows the PDF header offset. Refactor StartParse() so it does not have
to look for the header again.
Change-Id: Id8cc39301ae72da868dafc53921622d5b28ce26e
Reviewed-on: https://pdfium-review.googlesource.com/9830
Commit-Queue: Lei Zhang <thestig@chromium.org>
Reviewed-by: Art Snake <art-snake@yandex-team.ru>
Diffstat (limited to 'core/fpdfapi/parser/fpdf_parser_utility.h')
-rw-r--r-- | core/fpdfapi/parser/fpdf_parser_utility.h | 6 |
1 files changed, 6 insertions, 0 deletions
diff --git a/core/fpdfapi/parser/fpdf_parser_utility.h b/core/fpdfapi/parser/fpdf_parser_utility.h index eb8442ac68..5e764ad07b 100644 --- a/core/fpdfapi/parser/fpdf_parser_utility.h +++ b/core/fpdfapi/parser/fpdf_parser_utility.h @@ -34,7 +34,13 @@ inline bool PDFCharIsLineEnding(uint8_t c) { return c == '\r' || c == '\n'; } +constexpr int32_t kInvalidHeaderOffset = -1; + +// On success, return a positive offset value to the PDF header.. If the header +// cannot be found, or if there is an error reading from |pFile|, then return +// |kInvalidHeaderOffset|. int32_t GetHeaderOffset(const CFX_RetainPtr<IFX_SeekableReadStream>& pFile); + int32_t GetDirectInteger(CPDF_Dictionary* pDict, const CFX_ByteString& key); CFX_ByteTextBuf& operator<<(CFX_ByteTextBuf& buf, const CPDF_Object* pObj); |