aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorm-holger <m-holger@kubitscheck.org>2024-01-08 12:43:57 +0100
committerm-holger <m-holger@kubitscheck.org>2024-01-08 12:43:57 +0100
commit5641832e54e347c2c33e9304d96cca450eb305ed (patch)
tree67110342cb0d13d17ee690f3ad50be291f1ba6ee
parent07f6c635a95d8c20040896646394c1e5a8a64784 (diff)
downloadqpdf-5641832e54e347c2c33e9304d96cca450eb305ed.tar.zst
Tweak QPDF::read_xref
-rw-r--r--libqpdf/QPDF.cc15
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;
}
}