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,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