Commit e760931fe8ad8ac3e9a2635e29f2328e7099c40f

Authored by m-holger
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.
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
... ...