From 8b4afa428e9caa1a34cad434dfe8a3e01e5a24d3 Mon Sep 17 00:00:00 2001 From: m-holger Date: Sun, 24 Jul 2022 15:35:19 +0100 Subject: Revert making second parameter of QPDFObjGen::QPDFObjGen optional Also, change test for QPDFObjGen::isIndirect to obj != 0. Delete comment from commit afd35f9. --- include/qpdf/QPDFObjGen.hh | 4 ++-- include/qpdf/QPDFObjectHandle.hh | 1 - libqpdf/QPDF.cc | 6 +++--- libqpdf/QPDF_linearization.cc | 8 ++++---- 4 files changed, 9 insertions(+), 10 deletions(-) diff --git a/include/qpdf/QPDFObjGen.hh b/include/qpdf/QPDFObjGen.hh index a1829b00..df9ef737 100644 --- a/include/qpdf/QPDFObjGen.hh +++ b/include/qpdf/QPDFObjGen.hh @@ -38,7 +38,7 @@ class QPDFObjGen { } QPDF_DLL - explicit QPDFObjGen(int obj, int gen = 0) : + explicit QPDFObjGen(int obj, int gen) : obj(obj), gen(gen) { @@ -77,7 +77,7 @@ class QPDFObjGen bool isIndirect() const { - return obj > 0; + return obj != 0; } QPDF_DLL std::string unparse(char separator = ',') const; diff --git a/include/qpdf/QPDFObjectHandle.hh b/include/qpdf/QPDFObjectHandle.hh index 8e33085c..790acccd 100644 --- a/include/qpdf/QPDFObjectHandle.hh +++ b/include/qpdf/QPDFObjectHandle.hh @@ -123,7 +123,6 @@ class QPDFObjectHandle Pipeline* pipeline, bool suppress_warnings, bool will_retry); - // The following two overloads are deprecated. QPDF_DLL virtual void provideStreamData(int objid, int generation, Pipeline* pipeline); QPDF_DLL virtual bool provideStreamData( diff --git a/libqpdf/QPDF.cc b/libqpdf/QPDF.cc index a64096a2..a0f0f9e1 100644 --- a/libqpdf/QPDF.cc +++ b/libqpdf/QPDF.cc @@ -1051,7 +1051,7 @@ QPDF::read_xrefStream(qpdf_offset_t xref_offset) QPDFObjectHandle xref_obj; try { xref_obj = readObjectAtOffset( - false, xref_offset, "xref stream", QPDFObjGen(), x_og); + false, xref_offset, "xref stream", QPDFObjGen(0, 0), x_og); } catch (QPDFExc&) { // ignore -- report error below } @@ -1333,7 +1333,7 @@ QPDF::insertXrefEntry(int obj, int f0, qpdf_offset_t f1, int f2, bool overwrite) break; case 2: - this->m->xref_table[QPDFObjGen(obj)] = QPDFXRefEntry(f0, f1, f2); + this->m->xref_table[QPDFObjGen(obj, 0)] = QPDFXRefEntry(f0, f1, f2); break; default: @@ -2110,7 +2110,7 @@ QPDF::resolveObjectsInStream(int obj_stream_number) // xref table and only cache what would actually be resolved here. for (auto const& iter: offsets) { int obj = iter.first; - QPDFObjGen og(obj); + QPDFObjGen og(obj, 0); QPDFXRefEntry const& entry = this->m->xref_table[og]; if ((entry.getType() == 2) && (entry.getObjStreamNumber() == obj_stream_number)) { diff --git a/libqpdf/QPDF_linearization.cc b/libqpdf/QPDF_linearization.cc index 5fa432e0..64805f58 100644 --- a/libqpdf/QPDF_linearization.cc +++ b/libqpdf/QPDF_linearization.cc @@ -137,8 +137,8 @@ QPDF::isLinearized() return false; } - QPDFObjectHandle candidate = - QPDFObjectHandle::Factory::newIndirect(this, QPDFObjGen(lindict_obj)); + QPDFObjectHandle candidate = QPDFObjectHandle::Factory::newIndirect( + this, QPDFObjGen(lindict_obj, 0)); if (!candidate.isDictionary()) { return false; } @@ -327,7 +327,7 @@ QPDF::readHintStream(Pipeline& pl, qpdf_offset_t offset, size_t length) { QPDFObjGen og; QPDFObjectHandle H = readObjectAtOffset( - false, offset, "linearization hint stream", QPDFObjGen(), og); + false, offset, "linearization hint stream", QPDFObjGen(0, 0), og); ObjCache& oc = this->m->obj_cache[og]; qpdf_offset_t min_end_offset = oc.end_before_space; qpdf_offset_t max_end_offset = oc.end_after_space; @@ -706,7 +706,7 @@ QPDF::getUncompressedObject( return obj; } else { int repl = (*(object_stream_data.find(obj.getObjectID()))).second; - return getObjectByObjGen(QPDFObjGen(repl)); + return getObjectByObjGen(QPDFObjGen(repl, 0)); } } -- cgit v1.2.3-54-g00ecf