From 2266c6232b2ffd34c78c1924c1d7d3b932ea4a29 Mon Sep 17 00:00:00 2001 From: Jay Berkenbilt Date: Tue, 26 Jun 2012 23:09:32 -0400 Subject: Rework InputSource::readLine to make it much more efficient This rework makes xref reconstruction run much faster and use much less memory. --- include/qpdf/QPDF.hh | 5 ++++- 1 file changed, 4 insertions(+), 1 deletion(-) (limited to 'include') 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); -- cgit v1.2.3-54-g00ecf