summaryrefslogtreecommitdiffstats
path: root/include
diff options
context:
space:
mode:
authorJay Berkenbilt <ejb@ql.org>2012-06-27 05:09:32 +0200
committerJay Berkenbilt <ejb@ql.org>2012-06-27 12:48:06 +0200
commit2266c6232b2ffd34c78c1924c1d7d3b932ea4a29 (patch)
tree1dd86def7878d8251c84b6a9cc0ef3241547c5dd /include
parent736bafbb9ca645fc8662d9d05f5a72a2e6185e75 (diff)
downloadqpdf-2266c6232b2ffd34c78c1924c1d7d3b932ea4a29.tar.zst
Rework InputSource::readLine to make it much more efficient
This rework makes xref reconstruction run much faster and use much less memory.
Diffstat (limited to 'include')
-rw-r--r--include/qpdf/QPDF.hh5
1 files changed, 4 insertions, 1 deletions
diff --git a/include/qpdf/QPDF.hh b/include/qpdf/QPDF.hh
index 7849cb76..93927a50 100644
--- a/include/qpdf/QPDF.hh
+++ b/include/qpdf/QPDF.hh
@@ -433,8 +433,9 @@ class QPDF
void setLastOffset(qpdf_offset_t);
qpdf_offset_t getLastOffset() const;
- std::string readLine();
+ std::string readLine(size_t max_line_length);
+ virtual qpdf_offset_t findAndSkipNextEOL() = 0;
virtual std::string const& getName() const = 0;
virtual qpdf_offset_t tell() = 0;
virtual void seek(qpdf_offset_t offset, int whence) = 0;
@@ -453,6 +454,7 @@ class QPDF
void setFilename(char const* filename);
void setFile(char const* description, FILE* filep, bool close_file);
virtual ~FileInputSource();
+ virtual qpdf_offset_t findAndSkipNextEOL();
virtual std::string const& getName() const;
virtual qpdf_offset_t tell();
virtual void seek(qpdf_offset_t offset, int whence);
@@ -477,6 +479,7 @@ class QPDF
BufferInputSource(std::string const& description, Buffer* buf,
bool own_memory = false);
virtual ~BufferInputSource();
+ virtual qpdf_offset_t findAndSkipNextEOL();
virtual std::string const& getName() const;
virtual qpdf_offset_t tell();
virtual void seek(qpdf_offset_t offset, int whence);