From 0db65e79120e66069a37906845a984457b711b6f Mon Sep 17 00:00:00 2001 From: m-holger Date: Sat, 25 Mar 2023 17:23:19 +0000 Subject: Remove temporary OHArray::disconnect and setAt --- libqpdf/OHArray.cc | 20 -------------------- libqpdf/QPDF_Array.cc | 12 ++++++++++-- libqpdf/qpdf/OHArray.hh | 2 -- 3 files changed, 10 insertions(+), 24 deletions(-) (limited to 'libqpdf') diff --git a/libqpdf/OHArray.cc b/libqpdf/OHArray.cc index dc01421f..ce6a595e 100644 --- a/libqpdf/OHArray.cc +++ b/libqpdf/OHArray.cc @@ -11,26 +11,6 @@ OHArray::OHArray() { } -void -OHArray::disconnect() -{ - for (auto const& iter: elements) { - if (iter) { - QPDFObjectHandle oh = iter; - QPDFObjectHandle::DisconnectAccess::disconnect(oh); - } - } -} - -void -OHArray::setAt(size_t idx, QPDFObjectHandle oh) -{ - if (idx >= elements.size()) { - throw std::logic_error("bounds error setting item in OHArray"); - } - elements[idx] = oh.getObj(); -} - void OHArray::erase(size_t idx) { diff --git a/libqpdf/QPDF_Array.cc b/libqpdf/QPDF_Array.cc index b86c3f0a..ce08332a 100644 --- a/libqpdf/QPDF_Array.cc +++ b/libqpdf/QPDF_Array.cc @@ -77,7 +77,11 @@ QPDF_Array::disconnect() if (sparse) { sp_elements.disconnect(); } else { - elements.disconnect(); + for (auto const& iter: elements.elements) { + if (iter) { + QPDFObjectHandle::DisconnectAccess::disconnect(iter); + } + } } } @@ -176,7 +180,11 @@ QPDF_Array::setItem(int n, QPDFObjectHandle const& oh) if (sparse) { sp_elements.setAt(QIntC::to_size(n), oh); } else { - elements.setAt(QIntC::to_size(n), oh); + size_t idx = size_t(n); + if (n < 0 || idx >= elements.elements.size()) { + throw std::logic_error("bounds error setting item in QPDF_Array"); + } + elements.elements[idx] = oh.getObj(); } } diff --git a/libqpdf/qpdf/OHArray.hh b/libqpdf/qpdf/OHArray.hh index e8abc8b3..e4d880db 100644 --- a/libqpdf/qpdf/OHArray.hh +++ b/libqpdf/qpdf/OHArray.hh @@ -12,11 +12,9 @@ class OHArray { public: OHArray(); - void setAt(size_t idx, QPDFObjectHandle oh); void erase(size_t idx); void insert(size_t idx, QPDFObjectHandle oh); OHArray copy(); - void disconnect(); private: friend class QPDF_Array; -- cgit v1.2.3-54-g00ecf