Commit 8191d4cdad3e6bcc7caedf1a81c09ce1c602cde8
1 parent
fafd50bb
Refactor `QPDFEFStreamObjectHelper::newFromStream`: use `qpdf::String` and `qpdf…
…::types` helpers, simplify pipeline usage, and clean up includes.
Showing
1 changed file
with
9 additions
and
12 deletions
libqpdf/QPDFEFStreamObjectHelper.cc
| 1 | #include <qpdf/QPDFEFStreamObjectHelper.hh> | 1 | #include <qpdf/QPDFEFStreamObjectHelper.hh> |
| 2 | 2 | ||
| 3 | -#include <qpdf/Pl_Count.hh> | ||
| 4 | -#include <qpdf/Pl_Discard.hh> | 3 | +#include <qpdf/Pipeline_private.hh> |
| 5 | #include <qpdf/Pl_MD5.hh> | 4 | #include <qpdf/Pl_MD5.hh> |
| 6 | #include <qpdf/QIntC.hh> | 5 | #include <qpdf/QIntC.hh> |
| 7 | #include <qpdf/QPDF.hh> | 6 | #include <qpdf/QPDF.hh> |
| @@ -91,7 +90,7 @@ QPDFEFStreamObjectHelper::getChecksum() | @@ -91,7 +90,7 @@ QPDFEFStreamObjectHelper::getChecksum() | ||
| 91 | QPDFEFStreamObjectHelper | 90 | QPDFEFStreamObjectHelper |
| 92 | QPDFEFStreamObjectHelper::createEFStream(QPDF& qpdf, std::shared_ptr<Buffer> data) | 91 | QPDFEFStreamObjectHelper::createEFStream(QPDF& qpdf, std::shared_ptr<Buffer> data) |
| 93 | { | 92 | { |
| 94 | - return newFromStream(qpdf.newStream(data)); | 93 | + return newFromStream(qpdf.newStream(std::move(data))); |
| 95 | } | 94 | } |
| 96 | 95 | ||
| 97 | QPDFEFStreamObjectHelper | 96 | QPDFEFStreamObjectHelper |
| @@ -104,7 +103,7 @@ QPDFEFStreamObjectHelper | @@ -104,7 +103,7 @@ QPDFEFStreamObjectHelper | ||
| 104 | QPDFEFStreamObjectHelper::createEFStream(QPDF& qpdf, std::function<void(Pipeline*)> provider) | 103 | QPDFEFStreamObjectHelper::createEFStream(QPDF& qpdf, std::function<void(Pipeline*)> provider) |
| 105 | { | 104 | { |
| 106 | auto stream = qpdf.newStream(); | 105 | auto stream = qpdf.newStream(); |
| 107 | - stream.replaceStreamData(provider, QPDFObjectHandle::newNull(), QPDFObjectHandle::newNull()); | 106 | + stream.replaceStreamData(provider, {}, {}); |
| 108 | return newFromStream(stream); | 107 | return newFromStream(stream); |
| 109 | } | 108 | } |
| 110 | 109 | ||
| @@ -125,7 +124,7 @@ QPDFEFStreamObjectHelper::setModDate(std::string const& date) | @@ -125,7 +124,7 @@ QPDFEFStreamObjectHelper::setModDate(std::string const& date) | ||
| 125 | QPDFEFStreamObjectHelper& | 124 | QPDFEFStreamObjectHelper& |
| 126 | QPDFEFStreamObjectHelper::setSubtype(std::string const& subtype) | 125 | QPDFEFStreamObjectHelper::setSubtype(std::string const& subtype) |
| 127 | { | 126 | { |
| 128 | - oh().getDict().replaceKey("/Subtype", QPDFObjectHandle::newName("/" + subtype)); | 127 | + oh().getDict().replaceKey("/Subtype", Name("/" + subtype)); |
| 129 | return *this; | 128 | return *this; |
| 130 | } | 129 | } |
| 131 | 130 | ||
| @@ -133,18 +132,16 @@ QPDFEFStreamObjectHelper | @@ -133,18 +132,16 @@ QPDFEFStreamObjectHelper | ||
| 133 | QPDFEFStreamObjectHelper::newFromStream(QPDFObjectHandle stream) | 132 | QPDFEFStreamObjectHelper::newFromStream(QPDFObjectHandle stream) |
| 134 | { | 133 | { |
| 135 | QPDFEFStreamObjectHelper result(stream); | 134 | QPDFEFStreamObjectHelper result(stream); |
| 136 | - stream.getDict().replaceKey("/Type", QPDFObjectHandle::newName("/EmbeddedFile")); | ||
| 137 | - Pl_Discard discard; | 135 | + stream.getDict().replaceKey("/Type", Name("/EmbeddedFile")); |
| 138 | // The PDF spec specifies use of MD5 here and notes that it is not to be used for security. MD5 | 136 | // The PDF spec specifies use of MD5 here and notes that it is not to be used for security. MD5 |
| 139 | // is known to be insecure. | 137 | // is known to be insecure. |
| 140 | - Pl_MD5 md5("EF md5", &discard); | ||
| 141 | - Pl_Count count("EF size", &md5); | 138 | + Pl_MD5 md5("EF md5"); |
| 139 | + pl::Count count(0, &md5); | ||
| 142 | if (!stream.pipeStreamData(&count, nullptr, 0, qpdf_dl_all)) { | 140 | if (!stream.pipeStreamData(&count, nullptr, 0, qpdf_dl_all)) { |
| 143 | stream.warn("unable to get stream data for new embedded file stream"); | 141 | stream.warn("unable to get stream data for new embedded file stream"); |
| 144 | } else { | 142 | } else { |
| 145 | - result.setParam("/Size", QPDFObjectHandle::newInteger(count.getCount())); | ||
| 146 | - result.setParam( | ||
| 147 | - "/CheckSum", QPDFObjectHandle::newString(QUtil::hex_decode(md5.getHexDigest()))); | 143 | + result.setParam("/Size", Integer(count.getCount())); |
| 144 | + result.setParam("/CheckSum", String(QUtil::hex_decode(md5.getHexDigest()))); | ||
| 148 | } | 145 | } |
| 149 | return result; | 146 | return result; |
| 150 | } | 147 | } |