From 47b55307ac5f2767bb8f05e73bad3c86fc9df829 Mon Sep 17 00:00:00 2001 From: m-holger Date: Mon, 18 Aug 2025 12:57:09 +0100 Subject: [PATCH] Refactor `getArrayNItems`: simplify logic, replace array check with `size()`, remove redundant trace, and improve readability. --- libqpdf/QPDF_Array.cc | 6 +++--- qpdf/qpdf.testcov | 1 - 2 files changed, 3 insertions(+), 4 deletions(-) diff --git a/libqpdf/QPDF_Array.cc b/libqpdf/QPDF_Array.cc index 23dd2d2..75a1083 100644 --- a/libqpdf/QPDF_Array.cc +++ b/libqpdf/QPDF_Array.cc @@ -350,11 +350,11 @@ Array::erase(int at_i) int QPDFObjectHandle::getArrayNItems() const { - if (auto array = as_array(strict)) { - return to_i(array.size()); + auto s = size(); + if (s > 1 || isArray()) { + return to_i(s); } typeWarning("array", "treating as empty"); - QTC::TC("qpdf", "QPDFObjectHandle array treating as empty"); return 0; } diff --git a/qpdf/qpdf.testcov b/qpdf/qpdf.testcov index 4208e13..f1de4b6 100644 --- a/qpdf/qpdf.testcov +++ b/qpdf/qpdf.testcov @@ -299,7 +299,6 @@ QPDFObjectHandle string returning empty string 0 QPDFObjectHandle string returning empty utf8 0 QPDFObjectHandle operator returning fake value 0 QPDFObjectHandle inlineimage returning empty data 0 -QPDFObjectHandle array treating as empty 0 QPDFObjectHandle array null for non-array 0 QPDFObjectHandle array treating as empty vector 0 QPDFObjectHandle array ignoring set item 0 -- libgit2 0.21.4