From 9c00874e7786fa38e15e9a4ddf9767b63e88386d Mon Sep 17 00:00:00 2001 From: Tobias Hoffmann Date: Wed, 25 Jul 2012 03:01:57 +0200 Subject: added QPDFObjectHandle::replaceStreamData(std::string data). --- libqpdf/QPDFObjectHandle.cc | 20 ++++++++++++++++---- 1 file changed, 16 insertions(+), 4 deletions(-) (limited to 'libqpdf') diff --git a/libqpdf/QPDFObjectHandle.cc b/libqpdf/QPDFObjectHandle.cc index 6bb182e8..54897b83 100644 --- a/libqpdf/QPDFObjectHandle.cc +++ b/libqpdf/QPDFObjectHandle.cc @@ -441,6 +441,19 @@ QPDFObjectHandle::replaceStreamData(PointerHolder data, data, filter, decode_parms); } +void +QPDFObjectHandle::replaceStreamData(std::string const& data, + QPDFObjectHandle const& filter, + QPDFObjectHandle const& decode_parms) +{ + assertStream(); + PointerHolder b = new Buffer(data.length()); + unsigned char* bp = b->getBuffer(); + memcpy(bp, (char*)data.c_str(), data.length()); + dynamic_cast(obj.getPointer())->replaceStreamData( + b, filter, decode_parms); +} + void QPDFObjectHandle::replaceStreamData(PointerHolder provider, QPDFObjectHandle const& filter, @@ -978,10 +991,9 @@ QPDFObjectHandle QPDFObjectHandle::newStream(QPDF* qpdf, std::string const& data) { QTC::TC("qpdf", "QPDFObjectHandle newStream with string"); - PointerHolder b = new Buffer(data.length()); - unsigned char* bp = b->getBuffer(); - memcpy(bp, (char*)data.c_str(), data.length()); - return QPDFObjectHandle::newStream(qpdf, b); + QPDFObjectHandle result = newStream(qpdf); + result.replaceStreamData(data, newNull(), newNull()); + return result; } QPDFObjectHandle -- cgit v1.2.3-54-g00ecf