Commit e760931fe8ad8ac3e9a2635e29f2328e7099c40f
1 parent
4cfe44a4
Refactor `QPDFOutlineObjectHelper::getDest`: replace `getKey` and `getName` with…
… operator[] and `Name` for improved clarity and consistency, and remove unused test coverage entries.
Showing
2 changed files
with
8 additions
and
18 deletions
libqpdf/QPDFOutlineObjectHelper.cc
| ... | ... | @@ -48,26 +48,19 @@ QPDFOutlineObjectHelper::getKids() |
| 48 | 48 | QPDFObjectHandle |
| 49 | 49 | QPDFOutlineObjectHelper::getDest() |
| 50 | 50 | { |
| 51 | - QPDFObjectHandle dest; | |
| 52 | - QPDFObjectHandle A; | |
| 53 | - if (oh().hasKey("/Dest")) { | |
| 54 | - QTC::TC("qpdf", "QPDFOutlineObjectHelper direct dest"); | |
| 55 | - dest = oh().getKey("/Dest"); | |
| 56 | - } else if ( | |
| 57 | - (A = oh().getKey("/A")).isDictionary() && A.getKey("/S").isName() && | |
| 58 | - (A.getKey("/S").getName() == "/GoTo") && A.hasKey("/D")) { | |
| 59 | - QTC::TC("qpdf", "QPDFOutlineObjectHelper action dest"); | |
| 60 | - dest = A.getKey("/D"); | |
| 51 | + auto dest = (*this)["/Dest"]; | |
| 52 | + if (dest.null()) { | |
| 53 | + auto const& A = (*this)["/A"]; | |
| 54 | + if (Name(A["/S"]) == "/GoTo") { | |
| 55 | + dest = A["/D"]; | |
| 56 | + } | |
| 61 | 57 | } |
| 62 | - if (!dest) { | |
| 58 | + if (dest.null()) { | |
| 63 | 59 | return QPDFObjectHandle::newNull(); |
| 64 | 60 | } |
| 65 | - | |
| 66 | 61 | if (dest.isName() || dest.isString()) { |
| 67 | - QTC::TC("qpdf", "QPDFOutlineObjectHelper named dest"); | |
| 68 | - dest = m->dh.resolveNamedDest(dest); | |
| 62 | + return m->dh.resolveNamedDest(dest); | |
| 69 | 63 | } |
| 70 | - | |
| 71 | 64 | return dest; |
| 72 | 65 | } |
| 73 | 66 | ... | ... |
qpdf/qpdf.testcov
| ... | ... | @@ -308,9 +308,6 @@ QPDFAcroFormDocumentHelper annotation found 1 |
| 308 | 308 | QPDFJob keep files open n 0 |
| 309 | 309 | QPDFJob keep files open y 0 |
| 310 | 310 | QPDFJob automatically set keep files open 1 |
| 311 | -QPDFOutlineObjectHelper direct dest 0 | |
| 312 | -QPDFOutlineObjectHelper action dest 0 | |
| 313 | -QPDFOutlineObjectHelper named dest 0 | |
| 314 | 311 | QPDFOutlineDocumentHelper string named dest 0 |
| 315 | 312 | QPDFObjectHandle merge top type mismatch 0 |
| 316 | 313 | QPDFObjectHandle merge shallow copy 0 | ... | ... |