diff --git a/libqpdf/NNTree.cc b/libqpdf/NNTree.cc index da97536..0ac4576 100644 --- a/libqpdf/NNTree.cc +++ b/libqpdf/NNTree.cc @@ -866,15 +866,14 @@ NNTreeImpl::findInternal(QPDFObjectHandle const& key, bool return_prev_if_not_fo } NNTreeImpl::iterator -NNTreeImpl::insertFirst(QPDFObjectHandle key, QPDFObjectHandle value) +NNTreeImpl::insertFirst(QPDFObjectHandle const& key, QPDFObjectHandle const& value) { auto iter = begin(); QPDFObjectHandle items; if (iter.node.isDictionary()) { items = iter.node.getKey(details.itemsKey()); } - if (!(items.isArray())) { - QTC::TC("qpdf", "NNTree no valid items node in insertFirst"); + if (!items.isArray()) { error(oh, "unable to find a valid items node"); } items.insertItem(0, key); @@ -886,30 +885,26 @@ NNTreeImpl::insertFirst(QPDFObjectHandle key, QPDFObjectHandle value) } NNTreeImpl::iterator -NNTreeImpl::insert(QPDFObjectHandle key, QPDFObjectHandle value) +NNTreeImpl::insert(QPDFObjectHandle const& key, QPDFObjectHandle const& value) { auto iter = find(key, true); if (!iter.valid()) { - QTC::TC("qpdf", "NNTree insert inserts first"); return insertFirst(key, value); } else if (details.compareKeys(key, iter->first) == 0) { - QTC::TC("qpdf", "NNTree insert replaces"); auto items = iter.node.getKey(details.itemsKey()); items.setArrayItem(iter.item_number + 1, value); iter.updateIValue(); } else { - QTC::TC("qpdf", "NNTree insert inserts after"); iter.insertAfter(key, value); } return iter; } bool -NNTreeImpl::remove(QPDFObjectHandle key, QPDFObjectHandle* value) +NNTreeImpl::remove(QPDFObjectHandle const& key, QPDFObjectHandle* value) { auto iter = find(key, false); if (!iter.valid()) { - QTC::TC("qpdf", "NNTree remove not found"); return false; } if (value) { diff --git a/libqpdf/qpdf/NNTree.hh b/libqpdf/qpdf/NNTree.hh index ed9ac87..c904703 100644 --- a/libqpdf/qpdf/NNTree.hh +++ b/libqpdf/qpdf/NNTree.hh @@ -100,9 +100,9 @@ class NNTreeImpl iterator end(); iterator last(); iterator find(QPDFObjectHandle key, bool return_prev_if_not_found = false); - iterator insertFirst(QPDFObjectHandle key, QPDFObjectHandle value); - iterator insert(QPDFObjectHandle key, QPDFObjectHandle value); - bool remove(QPDFObjectHandle key, QPDFObjectHandle* value = nullptr); + iterator insertFirst(QPDFObjectHandle const& key, QPDFObjectHandle const& value); + iterator insert(QPDFObjectHandle const& key, QPDFObjectHandle const& value); + bool remove(QPDFObjectHandle const& key, QPDFObjectHandle* value = nullptr); // Change the split threshold for easier testing. There's no real reason to expose this to // downstream tree helpers, but it has to be public so we can call it from the test suite. diff --git a/qpdf/qpdf.testcov b/qpdf/qpdf.testcov index 0e934f0..f867d13 100644 --- a/qpdf/qpdf.testcov +++ b/qpdf/qpdf.testcov @@ -524,11 +524,7 @@ NNTree deepen: loop 0 NNTree skip invalid kid 0 NNTree skip item at end of short items 0 NNTree skip invalid key 0 -NNTree no valid items node in insertFirst 0 NNTree deepen found empty 0 -NNTree insert inserts first 0 -NNTree insert replaces 0 -NNTree insert inserts after 0 NNTree unable to determine limits 0 NNTree warn indirect kid 0 NNTree fix indirect kid 0 @@ -547,7 +543,6 @@ NNTree node is not a dictionary 0 NNTree limits didn't change 0 NNTree increment end() 0 NNTree insertAfter inserts first 0 -NNTree remove not found 0 NNTree remove reset limits 0 NNTree erased last item 0 NNTree erased non-last item 0