Commit 963574f27f99fef0688dbc3c276a2881aed79c4e
1 parent
f4e468b1
Refactor QPDFOutlineDocumentHelper::resolveNamedDest
Showing
1 changed file
with
9 additions
and
14 deletions
libqpdf/QPDFOutlineDocumentHelper.cc
| ... | ... | @@ -68,30 +68,25 @@ QPDFOutlineDocumentHelper::resolveNamedDest(QPDFObjectHandle name) |
| 68 | 68 | QPDFObjectHandle result; |
| 69 | 69 | if (name.isName()) { |
| 70 | 70 | if (!m->dest_dict.isInitialized()) { |
| 71 | - m->dest_dict = this->qpdf.getRoot().getKey("/Dests"); | |
| 72 | - } | |
| 73 | - if (m->dest_dict.isDictionary()) { | |
| 74 | - QTC::TC("qpdf", "QPDFOutlineDocumentHelper name named dest"); | |
| 75 | - result = m->dest_dict.getKey(name.getName()); | |
| 71 | + m->dest_dict = qpdf.getRoot().getKey("/Dests"); | |
| 76 | 72 | } |
| 73 | + QTC::TC("qpdf", "QPDFOutlineDocumentHelper name named dest"); | |
| 74 | + result= m->dest_dict.getKeyIfDict(name.getName()); | |
| 77 | 75 | } else if (name.isString()) { |
| 78 | - if (nullptr == m->names_dest) { | |
| 79 | - QPDFObjectHandle names = this->qpdf.getRoot().getKey("/Names"); | |
| 80 | - if (names.isDictionary()) { | |
| 81 | - QPDFObjectHandle dests = names.getKey("/Dests"); | |
| 82 | - if (dests.isDictionary()) { | |
| 83 | - m->names_dest = std::make_shared<QPDFNameTreeObjectHelper>(dests, this->qpdf); | |
| 84 | - } | |
| 76 | + if (!m->names_dest) { | |
| 77 | + auto dests = qpdf.getRoot().getKey("/Names").getKeyIfDict("/Dests"); | |
| 78 | + if (dests.isDictionary()) { | |
| 79 | + m->names_dest = std::make_shared<QPDFNameTreeObjectHelper>(dests, qpdf); | |
| 85 | 80 | } |
| 86 | 81 | } |
| 87 | - if (m->names_dest.get()) { | |
| 82 | + if (m->names_dest) { | |
| 88 | 83 | if (m->names_dest->findObject(name.getUTF8Value(), result)) { |
| 89 | 84 | QTC::TC("qpdf", "QPDFOutlineDocumentHelper string named dest"); |
| 90 | 85 | } |
| 91 | 86 | } |
| 92 | 87 | } |
| 93 | 88 | if (!result.isInitialized()) { |
| 94 | - result = QPDFObjectHandle::newNull(); | |
| 89 | + return QPDFObjectHandle::newNull(); | |
| 95 | 90 | } |
| 96 | 91 | return result; |
| 97 | 92 | } | ... | ... |