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