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