diff options
author | m-holger <m-holger@kubitscheck.org> | 2023-03-24 16:01:40 +0100 |
---|---|---|
committer | m-holger <m-holger@kubitscheck.org> | 2023-04-01 14:54:17 +0200 |
commit | a1a8f35b63bcad7e0cac31a205e109d6a0d70622 (patch) | |
tree | e9a889ed70d94ea277111056d874a73dbc24a4e2 /libqpdf/SparseOHArray.cc | |
parent | 51d350c98c549ff59dd6423e98d993385f57fa9c (diff) | |
download | qpdf-a1a8f35b63bcad7e0cac31a205e109d6a0d70622.tar.zst |
Refactor QPDF_Array::getItem and rename to at
Diffstat (limited to 'libqpdf/SparseOHArray.cc')
-rw-r--r-- | libqpdf/SparseOHArray.cc | 14 |
1 files changed, 4 insertions, 10 deletions
diff --git a/libqpdf/SparseOHArray.cc b/libqpdf/SparseOHArray.cc index 3f6376a6..c82bf145 100644 --- a/libqpdf/SparseOHArray.cc +++ b/libqpdf/SparseOHArray.cc @@ -2,6 +2,8 @@ #include <stdexcept> +static const QPDFObjectHandle null_oh = QPDFObjectHandle::newNull(); + void SparseOHArray::append(QPDFObjectHandle oh) { @@ -23,16 +25,8 @@ SparseOHArray::append(std::shared_ptr<QPDFObject>&& obj) QPDFObjectHandle SparseOHArray::at(int idx) const { - if (idx < 0 || idx >= this->n_elements) { - throw std::logic_error( - "INTERNAL ERROR: bounds error accessing SparseOHArray element"); - } - auto const& iter = this->elements.find(idx); - if (iter == this->elements.end()) { - return QPDFObjectHandle::newNull(); - } else { - return (*iter).second; - } + auto const& iter = elements.find(idx); + return iter == elements.end() ? null_oh : (*iter).second; } void |