summaryrefslogtreecommitdiff
path: root/core/fpdfapi/parser/fpdf_parser_utility.h
diff options
context:
space:
mode:
authorLei Zhang <thestig@chromium.org>2017-08-02 17:41:22 -0700
committerChromium commit bot <commit-bot@chromium.org>2017-08-03 01:05:51 +0000
commitd1a8458e6390103e123e9d265040b3d02c16955b (patch)
tree3b169237c62b6b6210722ed403314b52aea34d8f /core/fpdfapi/parser/fpdf_parser_utility.h
parentf44812cf6d7559dd2a0bbc25a684e54675f4794d (diff)
downloadpdfium-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.h6
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);