From 80ed3076a02a40175760f8ddf88bbee2e1604d23 Mon Sep 17 00:00:00 2001 From: Jay Berkenbilt Date: Sat, 16 Apr 2022 13:12:49 -0400 Subject: Remove deprecated name/number tree constructors Remove the name/number tree object helper constructors that don't take a QPDF&. --- libqpdf/NNTree.cc | 51 ++++++++++++----------------------- libqpdf/QPDFNameTreeObjectHelper.cc | 10 ++----- libqpdf/QPDFNumberTreeObjectHelper.cc | 10 ++----- libqpdf/qpdf/NNTree.hh | 5 ++-- 4 files changed, 23 insertions(+), 53 deletions(-) (limited to 'libqpdf') diff --git a/libqpdf/NNTree.cc b/libqpdf/NNTree.cc index 8c6b4bab..985a3cb2 100644 --- a/libqpdf/NNTree.cc +++ b/libqpdf/NNTree.cc @@ -16,37 +16,23 @@ get_description(QPDFObjectHandle& node) } static void -warn(QPDF* qpdf, QPDFObjectHandle& node, std::string const& msg) +warn(QPDF& qpdf, QPDFObjectHandle& node, std::string const& msg) { - // ABI: in qpdf 11, change to a reference. - - if (qpdf) { - qpdf->warn( - // line-break - QPDFExc( - qpdf_e_damaged_pdf, - qpdf->getFilename(), - get_description(node), - 0, - msg)); - } + qpdf.warn( + // line-break + QPDFExc( + qpdf_e_damaged_pdf, + qpdf.getFilename(), + get_description(node), + 0, + msg)); } static void -error(QPDF* qpdf, QPDFObjectHandle& node, std::string const& msg) +error(QPDF& qpdf, QPDFObjectHandle& node, std::string const& msg) { - // ABI: in qpdf 11, change to a reference. - - if (qpdf) { - throw QPDFExc( - qpdf_e_damaged_pdf, - qpdf->getFilename(), - get_description(node), - 0, - msg); - } else { - throw std::runtime_error(get_description(node) + ": " + msg); - } + throw QPDFExc( + qpdf_e_damaged_pdf, qpdf.getFilename(), get_description(node), 0, msg); } NNTreeIterator::NNTreeIterator(NNTreeImpl& impl) : @@ -293,9 +279,6 @@ NNTreeIterator::split( // node: A // item_number: 0 - if (!this->impl.qpdf) { - throw std::logic_error("NNTreeIterator::split called with null qpdf"); - } if (!valid()) { throw std::logic_error( "NNTreeIterator::split called an invalid iterator"); @@ -361,7 +344,7 @@ NNTreeIterator::split( // same way. auto first_node = - impl.qpdf->makeIndirectObject(QPDFObjectHandle::newDictionary()); + impl.qpdf.makeIndirectObject(QPDFObjectHandle::newDictionary()); first_node.replaceKey(key, first_half); QPDFObjectHandle new_kids = QPDFObjectHandle::newArray(); new_kids.appendItem(first_node); @@ -397,7 +380,7 @@ NNTreeIterator::split( // Create a new node to contain the second half QPDFObjectHandle second_node = - impl.qpdf->makeIndirectObject(QPDFObjectHandle::newDictionary()); + impl.qpdf.makeIndirectObject(QPDFObjectHandle::newDictionary()); second_node.replaceKey(key, second_half); resetLimits(second_node, parent); @@ -705,7 +688,7 @@ NNTreeIterator::deepen(QPDFObjectHandle node, bool first, bool allow_empty) addPathElement(node, kid_number); auto next = kids.getArrayItem(kid_number); if (!next.isIndirect()) { - if (impl.qpdf && impl.auto_repair) { + if (impl.auto_repair) { QTC::TC("qpdf", "NNTree fix indirect kid"); warn( impl.qpdf, @@ -713,7 +696,7 @@ NNTreeIterator::deepen(QPDFObjectHandle node, bool first, bool allow_empty) ("converting kid number " + QUtil::int_to_string(kid_number) + " to an indirect object")); - next = impl.qpdf->makeIndirectObject(next); + next = impl.qpdf.makeIndirectObject(next); kids.setArrayItem(kid_number, next); } else { QTC::TC("qpdf", "NNTree warn indirect kid"); @@ -749,7 +732,7 @@ NNTreeIterator::deepen(QPDFObjectHandle node, bool first, bool allow_empty) NNTreeImpl::NNTreeImpl( NNTreeDetails const& details, - QPDF* qpdf, + QPDF& qpdf, QPDFObjectHandle& oh, bool auto_repair) : details(details), diff --git a/libqpdf/QPDFNameTreeObjectHelper.cc b/libqpdf/QPDFNameTreeObjectHelper.cc index 19dac3e4..e079c844 100644 --- a/libqpdf/QPDFNameTreeObjectHelper.cc +++ b/libqpdf/QPDFNameTreeObjectHelper.cc @@ -32,7 +32,7 @@ class NameTreeDetails: public NNTreeDetails static NameTreeDetails name_tree_details; QPDFNameTreeObjectHelper::Members::Members( - QPDFObjectHandle& oh, QPDF* q, bool auto_repair) : + QPDFObjectHandle& oh, QPDF& q, bool auto_repair) : impl(std::make_shared(name_tree_details, q, oh, auto_repair)) { } @@ -40,13 +40,7 @@ QPDFNameTreeObjectHelper::Members::Members( QPDFNameTreeObjectHelper::QPDFNameTreeObjectHelper( QPDFObjectHandle oh, QPDF& q, bool auto_repair) : QPDFObjectHelper(oh), - m(new Members(oh, &q, auto_repair)) -{ -} - -QPDFNameTreeObjectHelper::QPDFNameTreeObjectHelper(QPDFObjectHandle oh) : - QPDFObjectHelper(oh), - m(new Members(oh, nullptr, false)) + m(new Members(oh, q, auto_repair)) { } diff --git a/libqpdf/QPDFNumberTreeObjectHelper.cc b/libqpdf/QPDFNumberTreeObjectHelper.cc index 22b7f903..71cb039e 100644 --- a/libqpdf/QPDFNumberTreeObjectHelper.cc +++ b/libqpdf/QPDFNumberTreeObjectHelper.cc @@ -33,7 +33,7 @@ class NumberTreeDetails: public NNTreeDetails static NumberTreeDetails number_tree_details; QPDFNumberTreeObjectHelper::Members::Members( - QPDFObjectHandle& oh, QPDF* q, bool auto_repair) : + QPDFObjectHandle& oh, QPDF& q, bool auto_repair) : impl(std::make_shared(number_tree_details, q, oh, auto_repair)) { } @@ -41,13 +41,7 @@ QPDFNumberTreeObjectHelper::Members::Members( QPDFNumberTreeObjectHelper::QPDFNumberTreeObjectHelper( QPDFObjectHandle oh, QPDF& q, bool auto_repair) : QPDFObjectHelper(oh), - m(new Members(oh, &q, auto_repair)) -{ -} - -QPDFNumberTreeObjectHelper::QPDFNumberTreeObjectHelper(QPDFObjectHandle oh) : - QPDFObjectHelper(oh), - m(new Members(oh, nullptr, false)) + m(new Members(oh, q, auto_repair)) { } diff --git a/libqpdf/qpdf/NNTree.hh b/libqpdf/qpdf/NNTree.hh index 6ee2ee07..09ce3313 100644 --- a/libqpdf/qpdf/NNTree.hh +++ b/libqpdf/qpdf/NNTree.hh @@ -97,10 +97,9 @@ class NNTreeImpl public: typedef NNTreeIterator iterator; - // ABI: for qpdf 11, make qpdf a reference NNTreeImpl( NNTreeDetails const&, - QPDF*, + QPDF&, QPDFObjectHandle&, bool auto_repair = true); iterator begin(); @@ -132,7 +131,7 @@ class NNTreeImpl int compareKeyKid(QPDFObjectHandle& key, QPDFObjectHandle& items, int idx); NNTreeDetails const& details; - QPDF* qpdf; + QPDF& qpdf; int split_threshold; QPDFObjectHandle oh; bool auto_repair; -- cgit v1.2.3-54-g00ecf