From e760931fe8ad8ac3e9a2635e29f2328e7099c40f Mon Sep 17 00:00:00 2001 From: m-holger Date: Sat, 6 Sep 2025 17:01:06 +0100 Subject: [PATCH] Refactor `QPDFOutlineObjectHelper::getDest`: replace `getKey` and `getName` with operator[] and `Name` for improved clarity and consistency, and remove unused test coverage entries. --- libqpdf/QPDFOutlineObjectHelper.cc | 23 ++++++++--------------- qpdf/qpdf.testcov | 3 --- 2 files changed, 8 insertions(+), 18 deletions(-) diff --git a/libqpdf/QPDFOutlineObjectHelper.cc b/libqpdf/QPDFOutlineObjectHelper.cc index 4c3a2bf..0ae818e 100644 --- a/libqpdf/QPDFOutlineObjectHelper.cc +++ b/libqpdf/QPDFOutlineObjectHelper.cc @@ -48,26 +48,19 @@ QPDFOutlineObjectHelper::getKids() QPDFObjectHandle QPDFOutlineObjectHelper::getDest() { - QPDFObjectHandle dest; - QPDFObjectHandle A; - if (oh().hasKey("/Dest")) { - QTC::TC("qpdf", "QPDFOutlineObjectHelper direct dest"); - dest = oh().getKey("/Dest"); - } else if ( - (A = oh().getKey("/A")).isDictionary() && A.getKey("/S").isName() && - (A.getKey("/S").getName() == "/GoTo") && A.hasKey("/D")) { - QTC::TC("qpdf", "QPDFOutlineObjectHelper action dest"); - dest = A.getKey("/D"); + auto dest = (*this)["/Dest"]; + if (dest.null()) { + auto const& A = (*this)["/A"]; + if (Name(A["/S"]) == "/GoTo") { + dest = A["/D"]; + } } - if (!dest) { + if (dest.null()) { return QPDFObjectHandle::newNull(); } - if (dest.isName() || dest.isString()) { - QTC::TC("qpdf", "QPDFOutlineObjectHelper named dest"); - dest = m->dh.resolveNamedDest(dest); + return m->dh.resolveNamedDest(dest); } - return dest; } diff --git a/qpdf/qpdf.testcov b/qpdf/qpdf.testcov index 9f535e5..1ca2bb7 100644 --- a/qpdf/qpdf.testcov +++ b/qpdf/qpdf.testcov @@ -308,9 +308,6 @@ QPDFAcroFormDocumentHelper annotation found 1 QPDFJob keep files open n 0 QPDFJob keep files open y 0 QPDFJob automatically set keep files open 1 -QPDFOutlineObjectHelper direct dest 0 -QPDFOutlineObjectHelper action dest 0 -QPDFOutlineObjectHelper named dest 0 QPDFOutlineDocumentHelper string named dest 0 QPDFObjectHandle merge top type mismatch 0 QPDFObjectHandle merge shallow copy 0 -- libgit2 0.21.4