Commit d34e1e801817fc3f2e943d7179b08aebc4e7f30c
1 parent
baa2f2b4
Refactor `reserveObjects` in `QPDF`: replace calls to `isNull` with `null` and r…
…emove redundant `QTC::TC` calls.
Showing
2 changed files
with
3 additions
and
19 deletions
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 |