diff options
author | m-holger <m-holger@kubitscheck.org> | 2024-01-08 12:43:57 +0100 |
---|---|---|
committer | m-holger <m-holger@kubitscheck.org> | 2024-01-08 12:43:57 +0100 |
commit | 5641832e54e347c2c33e9304d96cca450eb305ed (patch) | |
tree | 67110342cb0d13d17ee690f3ad50be291f1ba6ee /libqpdf | |
parent | 07f6c635a95d8c20040896646394c1e5a8a64784 (diff) | |
download | qpdf-5641832e54e347c2c33e9304d96cca450eb305ed.tar.zst |
Tweak QPDF::read_xref
Diffstat (limited to 'libqpdf')
-rw-r--r-- | libqpdf/QPDF.cc | 15 |
1 files changed, 5 insertions, 10 deletions
diff --git a/libqpdf/QPDF.cc b/libqpdf/QPDF.cc index a089a6c2..5d09f900 100644 --- a/libqpdf/QPDF.cc +++ b/libqpdf/QPDF.cc @@ -708,16 +708,11 @@ QPDF::read_xref(qpdf_offset_t xref_offset) m->deleted_objects.clear(); // Make sure we keep only the highest generation for any object. - QPDFObjGen::set to_delete; - QPDFObjGen last_og; - for (auto const& og: m->xref_table) { - if (og.first.getObj() == last_og.getObj()) { - to_delete.emplace(last_og); - } - last_og = og.first; - } - for (auto const& og: to_delete) { - removeObject(og); + QPDFObjGen last_og{-1, 0}; + for (auto const& [og, _xref]: m->xref_table) { + if (og.getObj() == last_og.getObj()) + removeObject(last_og); + last_og = og; } } |