From 9ebabd19538512b6515696b164a17b90060a75c3 Mon Sep 17 00:00:00 2001 From: m-holger Date: Mon, 26 Sep 2022 18:27:25 +0100 Subject: Add new methods QPDF::newStream --- libqpdf/QPDFObjectHandle.cc | 23 +++++++++++------------ 1 file changed, 11 insertions(+), 12 deletions(-) (limited to 'libqpdf/QPDFObjectHandle.cc') diff --git a/libqpdf/QPDFObjectHandle.cc b/libqpdf/QPDFObjectHandle.cc index 6aca51f0..931960ed 100644 --- a/libqpdf/QPDFObjectHandle.cc +++ b/libqpdf/QPDFObjectHandle.cc @@ -2165,30 +2165,29 @@ QPDFObjectHandle::newStream(QPDF* qpdf) "attempt to create stream in null qpdf object"); } QTC::TC("qpdf", "QPDFObjectHandle newStream"); - QPDFObjectHandle stream_dict = newDictionary(); - QPDFObjectHandle result = qpdf->makeIndirectObject(QPDFObjectHandle( - QPDF_Stream::create(qpdf, QPDFObjGen(), stream_dict, 0, 0))); - auto stream = result.asStream(); - stream->setObjGen(result.getObjGen()); - return result; + return qpdf->newStream(); } QPDFObjectHandle QPDFObjectHandle::newStream(QPDF* qpdf, std::shared_ptr data) { + if (qpdf == nullptr) { + throw std::runtime_error( + "attempt to create stream in null qpdf object"); + } QTC::TC("qpdf", "QPDFObjectHandle newStream with data"); - QPDFObjectHandle result = newStream(qpdf); - result.replaceStreamData(data, newNull(), newNull()); - return result; + return qpdf->newStream(data); } QPDFObjectHandle QPDFObjectHandle::newStream(QPDF* qpdf, std::string const& data) { + if (qpdf == nullptr) { + throw std::runtime_error( + "attempt to create stream in null qpdf object"); + } QTC::TC("qpdf", "QPDFObjectHandle newStream with string"); - QPDFObjectHandle result = newStream(qpdf); - result.replaceStreamData(data, newNull(), newNull()); - return result; + return qpdf->newStream(data); } QPDFObjectHandle -- cgit v1.2.3-54-g00ecf