From 522d2b2227cbc8edc1b7404f2e3980a28d216988 Mon Sep 17 00:00:00 2001 From: Jay Berkenbilt Date: Sat, 17 Aug 2019 22:28:19 -0400 Subject: Improve efficiency of fixDanglingReferences --- libqpdf/QPDF.cc | 12 +++++------- 1 file changed, 5 insertions(+), 7 deletions(-) (limited to 'libqpdf/QPDF.cc') diff --git a/libqpdf/QPDF.cc b/libqpdf/QPDF.cc index a549eed0..5a03facc 100644 --- a/libqpdf/QPDF.cc +++ b/libqpdf/QPDF.cc @@ -20,6 +20,7 @@ #include #include #include +#include std::string QPDF::qpdf_version = "8.4.2"; @@ -1349,13 +1350,10 @@ QPDF::fixDanglingReferences(bool force) } else if (obj.isArray()) { - std::vector elements = obj.getArrayAsVector(); - for (std::vector::iterator iter = - elements.begin(); - iter != elements.end(); ++iter) - { - to_check.push_back(*iter); - } + QPDF_Array* arr = + dynamic_cast( + QPDFObjectHandle::ObjAccessor::getObject(obj).getPointer()); + arr->addExplicitElementsToList(to_check); } for (std::list::iterator iter = to_check.begin(); iter != to_check.end(); ++iter) -- cgit v1.2.3-54-g00ecf