diff options
Diffstat (limited to 'libqpdf/QPDFTokenizer.cc')
-rw-r--r-- | libqpdf/QPDFTokenizer.cc | 23 |
1 files changed, 19 insertions, 4 deletions
diff --git a/libqpdf/QPDFTokenizer.cc b/libqpdf/QPDFTokenizer.cc index 1a20bb5a..a6333b73 100644 --- a/libqpdf/QPDFTokenizer.cc +++ b/libqpdf/QPDFTokenizer.cc @@ -22,7 +22,8 @@ static bool is_space(char ch) } QPDFTokenizer::QPDFTokenizer() : - pound_special_in_name(true) + pound_special_in_name(true), + allow_eof(false) { reset(); } @@ -35,6 +36,12 @@ QPDFTokenizer::allowPoundAnywhereInName() } void +QPDFTokenizer::allowEOF() +{ + this->allow_eof = true; +} + +void QPDFTokenizer::reset() { state = st_top; @@ -441,9 +448,17 @@ QPDFTokenizer::presentEOF() } else if (state != st_token_ready) { - QTC::TC("qpdf", "QPDF_Tokenizer EOF reading token"); - type = tt_bad; - error_message = "EOF while reading token"; + QTC::TC("qpdf", "QPDF_Tokenizer EOF reading token", + this->allow_eof ? 1 : 0); + if (this->allow_eof) + { + type = tt_eof; + } + else + { + type = tt_bad; + error_message = "EOF while reading token"; + } } state = st_token_ready; |