diff options
author | m-holger <m-holger@kubitscheck.org> | 2022-09-26 19:27:25 +0200 |
---|---|---|
committer | Jay Berkenbilt <jberkenbilt@users.noreply.github.com> | 2022-11-19 20:10:42 +0100 |
commit | b3d71e1f58aa767dfa8eac3e723ecc164131f306 (patch) | |
tree | 8b9f4743bac361e0846245a609fa3266d4588e20 /libqpdf | |
parent | 486c273a4fcd2f11353f262bd595ad7fb31158dd (diff) | |
download | qpdf-b3d71e1f58aa767dfa8eac3e723ecc164131f306.tar.zst |
Add private overload of QPDF::makeIndirectObject taking a QPDFObject shared_ptr
Diffstat (limited to 'libqpdf')
-rw-r--r-- | libqpdf/QPDF.cc | 11 |
1 files changed, 8 insertions, 3 deletions
diff --git a/libqpdf/QPDF.cc b/libqpdf/QPDF.cc index 5cad3caf..a870d783 100644 --- a/libqpdf/QPDF.cc +++ b/libqpdf/QPDF.cc @@ -1977,7 +1977,7 @@ QPDF::isUnresolved(QPDFObjGen const& og) } QPDFObjectHandle -QPDF::makeIndirectObject(QPDFObjectHandle oh) +QPDF::makeIndirectObject(std::shared_ptr<QPDFObject> const& obj) { int max_objid = toI(getObjectCount()); if (max_objid == std::numeric_limits<int>::max()) { @@ -1985,12 +1985,17 @@ QPDF::makeIndirectObject(QPDFObjectHandle oh) "max object id is too high to create new objects"); } QPDFObjGen next(max_objid + 1, 0); - m->obj_cache[next] = - ObjCache(QPDFObjectHandle::ObjAccessor::getObject(oh), -1, -1); + m->obj_cache[next] = ObjCache(obj, -1, -1); return newIndirect(next, m->obj_cache[next].object); } QPDFObjectHandle +QPDF::makeIndirectObject(QPDFObjectHandle oh) +{ + return makeIndirectObject(QPDFObjectHandle::ObjAccessor::getObject(oh)); +} + +QPDFObjectHandle QPDF::reserveObjectIfNotExists(QPDFObjGen const& og) { if (!isCached(og) && m->xref_table.count(og) == 0) { |