aboutsummaryrefslogtreecommitdiffstats
path: root/libqpdf
diff options
context:
space:
mode:
authorTobias Hoffmann <thobi@worker>2012-07-25 03:01:57 +0200
committerTobias Hoffmann <thobi@worker>2012-07-25 03:02:46 +0200
commit9c00874e7786fa38e15e9a4ddf9767b63e88386d (patch)
tree2616a3bf3b21be29dab08224064c5015b6827830 /libqpdf
parentb04fb5cf5844852b4642bd486f14c08c78c16345 (diff)
downloadqpdf-9c00874e7786fa38e15e9a4ddf9767b63e88386d.tar.zst
added QPDFObjectHandle::replaceStreamData(std::string data).
Diffstat (limited to 'libqpdf')
-rw-r--r--libqpdf/QPDFObjectHandle.cc20
1 files changed, 16 insertions, 4 deletions
diff --git a/libqpdf/QPDFObjectHandle.cc b/libqpdf/QPDFObjectHandle.cc
index 6bb182e8..54897b83 100644
--- a/libqpdf/QPDFObjectHandle.cc
+++ b/libqpdf/QPDFObjectHandle.cc
@@ -442,6 +442,19 @@ QPDFObjectHandle::replaceStreamData(PointerHolder<Buffer> data,
}
void
+QPDFObjectHandle::replaceStreamData(std::string const& data,
+ QPDFObjectHandle const& filter,
+ QPDFObjectHandle const& decode_parms)
+{
+ assertStream();
+ PointerHolder<Buffer> b = new Buffer(data.length());
+ unsigned char* bp = b->getBuffer();
+ memcpy(bp, (char*)data.c_str(), data.length());
+ dynamic_cast<QPDF_Stream*>(obj.getPointer())->replaceStreamData(
+ b, filter, decode_parms);
+}
+
+void
QPDFObjectHandle::replaceStreamData(PointerHolder<StreamDataProvider> provider,
QPDFObjectHandle const& filter,
QPDFObjectHandle const& decode_parms)
@@ -978,10 +991,9 @@ QPDFObjectHandle
QPDFObjectHandle::newStream(QPDF* qpdf, std::string const& data)
{
QTC::TC("qpdf", "QPDFObjectHandle newStream with string");
- PointerHolder<Buffer> 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