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,26 +48,19 @@ QPDFOutlineObjectHelper::getKids() | ||
| 48 | QPDFObjectHandle | 48 | QPDFObjectHandle |
| 49 | QPDFOutlineObjectHelper::getDest() | 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 | return QPDFObjectHandle::newNull(); | 59 | return QPDFObjectHandle::newNull(); |
| 64 | } | 60 | } |
| 65 | - | ||
| 66 | if (dest.isName() || dest.isString()) { | 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 | return dest; | 64 | return dest; |
| 72 | } | 65 | } |
| 73 | 66 |
qpdf/qpdf.testcov
| @@ -308,9 +308,6 @@ QPDFAcroFormDocumentHelper annotation found 1 | @@ -308,9 +308,6 @@ QPDFAcroFormDocumentHelper annotation found 1 | ||
| 308 | QPDFJob keep files open n 0 | 308 | QPDFJob keep files open n 0 |
| 309 | QPDFJob keep files open y 0 | 309 | QPDFJob keep files open y 0 |
| 310 | QPDFJob automatically set keep files open 1 | 310 | QPDFJob automatically set keep files open 1 |
| 311 | -QPDFOutlineObjectHelper direct dest 0 | ||
| 312 | -QPDFOutlineObjectHelper action dest 0 | ||
| 313 | -QPDFOutlineObjectHelper named dest 0 | ||
| 314 | QPDFOutlineDocumentHelper string named dest 0 | 311 | QPDFOutlineDocumentHelper string named dest 0 |
| 315 | QPDFObjectHandle merge top type mismatch 0 | 312 | QPDFObjectHandle merge top type mismatch 0 |
| 316 | QPDFObjectHandle merge shallow copy 0 | 313 | QPDFObjectHandle merge shallow copy 0 |