diff options
author | m-holger <m-holger@kubitscheck.org> | 2022-09-26 19:43:28 +0200 |
---|---|---|
committer | Jay Berkenbilt <jberkenbilt@users.noreply.github.com> | 2022-11-19 20:10:42 +0100 |
commit | 0a3c533186e3b4957fbf318e9507fe52d3f71cbd (patch) | |
tree | 50d49a87277c10da9dc3d457f75e3a06ef142692 /libqpdf/QPDF.cc | |
parent | b3d71e1f58aa767dfa8eac3e723ecc164131f306 (diff) | |
download | qpdf-0a3c533186e3b4957fbf318e9507fe52d3f71cbd.tar.zst |
Add private method QPDF::nextObjGen
Diffstat (limited to 'libqpdf/QPDF.cc')
-rw-r--r-- | libqpdf/QPDF.cc | 12 |
1 files changed, 9 insertions, 3 deletions
diff --git a/libqpdf/QPDF.cc b/libqpdf/QPDF.cc index a870d783..50e08804 100644 --- a/libqpdf/QPDF.cc +++ b/libqpdf/QPDF.cc @@ -1976,15 +1976,21 @@ QPDF::isUnresolved(QPDFObjGen const& og) return !isCached(og) || m->obj_cache[og].object->isUnresolved(); } -QPDFObjectHandle -QPDF::makeIndirectObject(std::shared_ptr<QPDFObject> const& obj) +QPDFObjGen +QPDF::nextObjGen() { int max_objid = toI(getObjectCount()); if (max_objid == std::numeric_limits<int>::max()) { throw std::range_error( "max object id is too high to create new objects"); } - QPDFObjGen next(max_objid + 1, 0); + return QPDFObjGen(max_objid + 1, 0); +} + +QPDFObjectHandle +QPDF::makeIndirectObject(std::shared_ptr<QPDFObject> const& obj) +{ + QPDFObjGen next{nextObjGen()}; m->obj_cache[next] = ObjCache(obj, -1, -1); return newIndirect(next, m->obj_cache[next].object); } |