diff options
author | m-holger <m-holger@kubitscheck.org> | 2022-09-29 13:52:19 +0200 |
---|---|---|
committer | Jay Berkenbilt <jberkenbilt@users.noreply.github.com> | 2022-11-20 17:55:02 +0100 |
commit | dca70f13e77a5b20ba4f438350a67e48baa796d0 (patch) | |
tree | 2ab2ada7758e1bfbbb3f6b085df3473e96739f84 /libqpdf/QPDF.cc | |
parent | e9980efec87a7a678a1a00cfaf8fc60263c54d24 (diff) | |
download | qpdf-dca70f13e77a5b20ba4f438350a67e48baa796d0.tar.zst |
Add method QPDFTokenizer::Token::isInteger
Diffstat (limited to 'libqpdf/QPDF.cc')
-rw-r--r-- | libqpdf/QPDF.cc | 15 |
1 files changed, 7 insertions, 8 deletions
diff --git a/libqpdf/QPDF.cc b/libqpdf/QPDF.cc index 8e9a52f8..34cefd2f 100644 --- a/libqpdf/QPDF.cc +++ b/libqpdf/QPDF.cc @@ -461,8 +461,7 @@ QPDF::findStartxref() { QPDFTokenizer::Token t = readToken(this->m->file); if (t == QPDFTokenizer::Token(QPDFTokenizer::tt_word, "startxref")) { - t = readToken(this->m->file); - if (t.getType() == QPDFTokenizer::tt_integer) { + if (readToken(this->m->file).isInteger()) { // Position in front of offset token this->m->file->seek(this->m->file->getLastOffset(), SEEK_SET); return true; @@ -612,10 +611,10 @@ QPDF::reconstruct_xref(QPDFExc& e) if (token_start >= next_line_start) { // don't process yet -- wait until we get to the line // containing this token - } else if (t1.getType() == QPDFTokenizer::tt_integer) { + } else if (t1.isInteger()) { QPDFTokenizer::Token t2 = readToken(this->m->file, MAX_LEN); QPDFTokenizer::Token t3 = readToken(this->m->file, MAX_LEN); - if ((t2.getType() == QPDFTokenizer::tt_integer) && + if ((t2.isInteger()) && (t3 == QPDFTokenizer::Token(QPDFTokenizer::tt_word, "obj"))) { int obj = QUtil::string_to_int(t1.getValue().c_str()); int gen = QUtil::string_to_int(t2.getValue().c_str()); @@ -1682,8 +1681,8 @@ QPDF::readObjectAtOffset( QPDFTokenizer::Token tgen = readToken(this->m->file); QPDFTokenizer::Token tobj = readToken(this->m->file); - bool objidok = (tobjid.getType() == QPDFTokenizer::tt_integer); - int genok = (tgen.getType() == QPDFTokenizer::tt_integer); + bool objidok = tobjid.isInteger(); + int genok = tgen.isInteger(); int objok = (tobj == QPDFTokenizer::Token(QPDFTokenizer::tt_word, "obj")); QTC::TC("qpdf", "QPDF check objid", objidok ? 1 : 0); @@ -1945,10 +1944,10 @@ QPDF::resolveObjectsInStream(int obj_stream_number) for (int i = 0; i < n; ++i) { QPDFTokenizer::Token tnum = readToken(input); QPDFTokenizer::Token toffset = readToken(input); - if (!((tnum.getType() == QPDFTokenizer::tt_integer) && - (toffset.getType() == QPDFTokenizer::tt_integer))) { + if (!(tnum.isInteger() && toffset.isInteger())) { throw damagedPDF( input, + this->m->last_object_description, input->getLastOffset(), "expected integer in object stream header"); } |