aboutsummaryrefslogtreecommitdiffstats
path: root/libqpdf/QPDFObjectHandle.cc
diff options
context:
space:
mode:
authorm-holger <m-holger@kubitscheck.org>2022-07-23 15:45:54 +0200
committerm-holger <m-holger@kubitscheck.org>2022-07-24 16:59:49 +0200
commit3404ca8ac8e19ccba5ff2d7426081a593880f1c0 (patch)
tree5caf86915093bb85e690222994a447465737de47 /libqpdf/QPDFObjectHandle.cc
parentb123f79dfd5015453bdbf5d53f8225d73b6b20aa (diff)
downloadqpdf-3404ca8ac8e19ccba5ff2d7426081a593880f1c0.tar.zst
QPDFObjGen : tidy QPDFObjectHandle private methods
Change method signature to use QPDFObjGen.
Diffstat (limited to 'libqpdf/QPDFObjectHandle.cc')
-rw-r--r--libqpdf/QPDFObjectHandle.cc19
1 files changed, 9 insertions, 10 deletions
diff --git a/libqpdf/QPDFObjectHandle.cc b/libqpdf/QPDFObjectHandle.cc
index 880e44bd..779a61ed 100644
--- a/libqpdf/QPDFObjectHandle.cc
+++ b/libqpdf/QPDFObjectHandle.cc
@@ -2180,8 +2180,9 @@ QPDFObjectHandle::parseInternal(
// Try to resolve indirect objects
object = newIndirect(
context,
- olist.at(olist.size() - 2).getIntValueAsInt(),
- olist.at(olist.size() - 1).getIntValueAsInt());
+ QPDFObjGen(
+ olist.at(olist.size() - 2).getIntValueAsInt(),
+ olist.at(olist.size() - 1).getIntValueAsInt()));
olist.remove_last();
olist.remove_last();
} else if ((value == "endobj") && (state == st_top)) {
@@ -2469,9 +2470,9 @@ QPDFObjectHandle::setParsedOffset(qpdf_offset_t offset)
}
QPDFObjectHandle
-QPDFObjectHandle::newIndirect(QPDF* qpdf, int objid, int generation)
+QPDFObjectHandle::newIndirect(QPDF* qpdf, QPDFObjGen const& og)
{
- if (objid == 0) {
+ if (!og.isIndirect()) {
// Special case: QPDF uses objid 0 as a sentinel for direct
// objects, and the PDF specification doesn't allow for object
// 0. Treat indirect references to object 0 as null so that we
@@ -2480,7 +2481,7 @@ QPDFObjectHandle::newIndirect(QPDF* qpdf, int objid, int generation)
return newNull();
}
- return QPDFObjectHandle(qpdf, QPDFObjGen(objid, generation));
+ return QPDFObjectHandle(qpdf, og);
}
QPDFObjectHandle
@@ -2628,14 +2629,13 @@ QPDFObjectHandle::newDictionary(
QPDFObjectHandle
QPDFObjectHandle::newStream(
QPDF* qpdf,
- int objid,
- int generation,
+ QPDFObjGen const& og,
QPDFObjectHandle stream_dict,
qpdf_offset_t offset,
size_t length)
{
QPDFObjectHandle result = QPDFObjectHandle(QPDF_Stream::create(
- qpdf, objid, generation, stream_dict, offset, length));
+ qpdf, og.getObj(), og.getGen(), stream_dict, offset, length));
if (offset) {
result.setParsedOffset(offset);
}
@@ -2683,8 +2683,7 @@ QPDFObjectHandle::newReserved(QPDF* qpdf)
// Reserve a spot for this object by assigning it an object
// number, but then return an unresolved handle to the object.
QPDFObjectHandle reserved = qpdf->makeIndirectObject(makeReserved());
- QPDFObjectHandle result =
- newIndirect(qpdf, reserved.getObjectID(), reserved.getGeneration());
+ QPDFObjectHandle result = newIndirect(qpdf, reserved.getObjGen());
result.reserved = true;
return result;
}