diff options
Diffstat (limited to 'libqpdf/QPDF.cc')
-rw-r--r-- | libqpdf/QPDF.cc | 11 |
1 files changed, 11 insertions, 0 deletions
diff --git a/libqpdf/QPDF.cc b/libqpdf/QPDF.cc index 2658dd26..1807a838 100644 --- a/libqpdf/QPDF.cc +++ b/libqpdf/QPDF.cc @@ -2156,6 +2156,17 @@ QPDF::makeIndirectObject(QPDFObjectHandle oh) } QPDFObjectHandle +QPDF::reserveObjectIfNotExists(int objid, int gen) +{ + QPDFObjGen og(objid, gen); + if ((!this->m->obj_cache.count(og)) && (!this->m->xref_table.count(og))) { + resolve(objid, gen); + replaceObject(objid, gen, QPDFObjectHandle::Factory::makeReserved()); + } + return getObjectByID(objid, gen); +} + +QPDFObjectHandle QPDF::getObjectByObjGen(QPDFObjGen const& og) { return getObjectByID(og.getObj(), og.getGen()); |