From 69a5fb70472a2112d2bbb938ee3718250d2364cf Mon Sep 17 00:00:00 2001 From: m-holger Date: Fri, 26 Aug 2022 23:55:56 +0100 Subject: Add methods InputSource::fastRead, fastUnRead and fastTell Provide buffered input for QPDFTokenizer. --- libqpdf/QPDFTokenizer.cc | 8 +++----- 1 file changed, 3 insertions(+), 5 deletions(-) (limited to 'libqpdf') diff --git a/libqpdf/QPDFTokenizer.cc b/libqpdf/QPDFTokenizer.cc index 721ea7ea..56550266 100644 --- a/libqpdf/QPDFTokenizer.cc +++ b/libqpdf/QPDFTokenizer.cc @@ -974,11 +974,11 @@ QPDFTokenizer::readToken( bool allow_bad, size_t max_len) { - qpdf_offset_t offset = input->tell(); + qpdf_offset_t offset = input->fastTell(); while (this->state != st_token_ready) { char ch; - if (input->read(&ch, 1) == 0) { + if (!input->fastRead(ch)) { presentEOF(); if ((this->type == tt_eof) && (!this->allow_eof)) { @@ -1013,9 +1013,7 @@ QPDFTokenizer::readToken( bool unread_char; char char_to_unread; getToken(token, unread_char, char_to_unread); - if (unread_char) { - input->unreadCh(char_to_unread); - } + input->fastUnread(unread_char); if (token.getType() != tt_eof) { input->setLastOffset(offset); -- cgit v1.2.3-54-g00ecf