Commit d34e1e801817fc3f2e943d7179b08aebc4e7f30c

Authored by m-holger
1 parent baa2f2b4

Refactor `reserveObjects` in `QPDF`: replace calls to `isNull` with `null` and r…

…emove redundant `QTC::TC` calls.
libqpdf/QPDF.cc
... ... @@ -578,49 +578,41 @@ QPDF::reserveObjects(QPDFObjectHandle foreign, ObjCopier& obj_copier, bool top)
578 578 }
579 579  
580 580 if (foreign.isPagesObject()) {
581   - QTC::TC("qpdf", "QPDF not copying pages object");
582 581 return;
583 582 }
584 583  
585 584 if (foreign.isIndirect()) {
586 585 QPDFObjGen foreign_og(foreign.getObjGen());
587 586 if (!obj_copier.visiting.add(foreign_og)) {
588   - QTC::TC("qpdf", "QPDF loop reserving objects");
589 587 return;
590 588 }
591 589 if (obj_copier.object_map.contains(foreign_og)) {
592   - QTC::TC("qpdf", "QPDF already reserved object");
593   - if (!(top && foreign.isPageObject() && obj_copier.object_map[foreign_og].isNull())) {
  590 + if (!(top && foreign.isPageObject() && obj_copier.object_map[foreign_og].null())) {
594 591 obj_copier.visiting.erase(foreign);
595 592 return;
596 593 }
597 594 } else {
598   - QTC::TC("qpdf", "QPDF copy indirect");
599 595 obj_copier.object_map[foreign_og] =
600 596 foreign.isStream() ? newStream() : newIndirectNull();
601   - if ((!top) && foreign.isPageObject()) {
602   - QTC::TC("qpdf", "QPDF not crossing page boundary");
  597 + if (!top && foreign.isPageObject()) {
603 598 obj_copier.visiting.erase(foreign_og);
604 599 return;
605 600 }
606 601 }
607   - obj_copier.to_copy.push_back(foreign);
  602 + obj_copier.to_copy.emplace_back(foreign);
608 603 }
609 604  
610 605 if (foreign_tc == ::ot_array) {
611   - QTC::TC("qpdf", "QPDF reserve array");
612 606 for (auto const& item: foreign.as_array()) {
613 607 reserveObjects(item, obj_copier, false);
614 608 }
615 609 } else if (foreign_tc == ::ot_dictionary) {
616   - QTC::TC("qpdf", "QPDF reserve dictionary");
617 610 for (auto const& item: foreign.as_dictionary()) {
618 611 if (!item.second.null()) {
619 612 reserveObjects(item.second, obj_copier, false);
620 613 }
621 614 }
622 615 } else if (foreign_tc == ::ot_stream) {
623   - QTC::TC("qpdf", "QPDF reserve stream");
624 616 reserveObjects(foreign.getDict(), obj_copier, false);
625 617 }
626 618  
... ...
qpdf/qpdf.testcov
... ... @@ -204,18 +204,11 @@ QPDF_Stream unknown stream length 0
204 204 QPDF replaceReserved 0
205 205 QPDF copyForeign direct 0
206 206 QPDF copyForeign not foreign 0
207   -QPDF copy indirect 0
208   -QPDF loop reserving objects 0
209 207 QPDF replace indirect 0
210 208 QPDF replace array 0
211 209 QPDF replace dictionary 0
212 210 QPDF replace stream 0
213   -QPDF reserve array 0
214   -QPDF reserve dictionary 0
215   -QPDF reserve stream 0
216   -QPDF not crossing page boundary 0
217 211 QPDF replace foreign indirect with null 0
218   -QPDF not copying pages object 0
219 212 QPDF insert foreign page 0
220 213 QPDFWriter foreign object 0
221 214 QPDFWriter copy use_aes 1
... ... @@ -249,7 +242,6 @@ QPDF_optimization indirect outlines 0
249 242 QPDF xref space 2
250 243 QPDFJob pages range omitted in middle 0
251 244 QPDFJob npages 0
252   -QPDF already reserved object 0
253 245 QPDFWriter standard deterministic ID 1
254 246 QPDFWriter linearized deterministic ID 1
255 247 qpdf-c called qpdf_set_deterministic_ID 0
... ...