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