From d34e1e801817fc3f2e943d7179b08aebc4e7f30c Mon Sep 17 00:00:00 2001 From: m-holger Date: Sun, 31 Aug 2025 13:09:25 +0100 Subject: [PATCH] Refactor `reserveObjects` in `QPDF`: replace calls to `isNull` with `null` and remove redundant `QTC::TC` calls. --- libqpdf/QPDF.cc | 14 +++----------- qpdf/qpdf.testcov | 8 -------- 2 files changed, 3 insertions(+), 19 deletions(-) diff --git a/libqpdf/QPDF.cc b/libqpdf/QPDF.cc index 0893b45..6a6ffa7 100644 --- a/libqpdf/QPDF.cc +++ b/libqpdf/QPDF.cc @@ -578,49 +578,41 @@ QPDF::reserveObjects(QPDFObjectHandle foreign, ObjCopier& obj_copier, bool top) } if (foreign.isPagesObject()) { - QTC::TC("qpdf", "QPDF not copying pages object"); return; } if (foreign.isIndirect()) { QPDFObjGen foreign_og(foreign.getObjGen()); if (!obj_copier.visiting.add(foreign_og)) { - QTC::TC("qpdf", "QPDF loop reserving objects"); return; } if (obj_copier.object_map.contains(foreign_og)) { - QTC::TC("qpdf", "QPDF already reserved object"); - if (!(top && foreign.isPageObject() && obj_copier.object_map[foreign_og].isNull())) { + if (!(top && foreign.isPageObject() && obj_copier.object_map[foreign_og].null())) { obj_copier.visiting.erase(foreign); return; } } else { - QTC::TC("qpdf", "QPDF copy indirect"); obj_copier.object_map[foreign_og] = foreign.isStream() ? newStream() : newIndirectNull(); - if ((!top) && foreign.isPageObject()) { - QTC::TC("qpdf", "QPDF not crossing page boundary"); + if (!top && foreign.isPageObject()) { obj_copier.visiting.erase(foreign_og); return; } } - obj_copier.to_copy.push_back(foreign); + obj_copier.to_copy.emplace_back(foreign); } if (foreign_tc == ::ot_array) { - QTC::TC("qpdf", "QPDF reserve array"); for (auto const& item: foreign.as_array()) { reserveObjects(item, obj_copier, false); } } else if (foreign_tc == ::ot_dictionary) { - QTC::TC("qpdf", "QPDF reserve dictionary"); for (auto const& item: foreign.as_dictionary()) { if (!item.second.null()) { reserveObjects(item.second, obj_copier, false); } } } else if (foreign_tc == ::ot_stream) { - QTC::TC("qpdf", "QPDF reserve stream"); reserveObjects(foreign.getDict(), obj_copier, false); } diff --git a/qpdf/qpdf.testcov b/qpdf/qpdf.testcov index a4136fb..e04c73e 100644 --- a/qpdf/qpdf.testcov +++ b/qpdf/qpdf.testcov @@ -204,18 +204,11 @@ QPDF_Stream unknown stream length 0 QPDF replaceReserved 0 QPDF copyForeign direct 0 QPDF copyForeign not foreign 0 -QPDF copy indirect 0 -QPDF loop reserving objects 0 QPDF replace indirect 0 QPDF replace array 0 QPDF replace dictionary 0 QPDF replace stream 0 -QPDF reserve array 0 -QPDF reserve dictionary 0 -QPDF reserve stream 0 -QPDF not crossing page boundary 0 QPDF replace foreign indirect with null 0 -QPDF not copying pages object 0 QPDF insert foreign page 0 QPDFWriter foreign object 0 QPDFWriter copy use_aes 1 @@ -249,7 +242,6 @@ QPDF_optimization indirect outlines 0 QPDF xref space 2 QPDFJob pages range omitted in middle 0 QPDFJob npages 0 -QPDF already reserved object 0 QPDFWriter standard deterministic ID 1 QPDFWriter linearized deterministic ID 1 qpdf-c called qpdf_set_deterministic_ID 0 -- libgit2 0.21.4