aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--CMakeLists.txt2
-rw-r--r--examples/pdf-create.cc6
-rw-r--r--examples/pdf-custom-filter.cc12
-rw-r--r--examples/pdf-filter-tokens.cc5
-rw-r--r--examples/pdf-invert-images.cc12
-rw-r--r--fuzz/qpdf_fuzzer.cc28
-rw-r--r--fuzz/standalone_fuzz_target_runner.cc2
-rw-r--r--libtests/input_source.cc12
-rw-r--r--libtests/json_parse.cc2
-rw-r--r--libtests/qutil.cc4
-rw-r--r--qpdf/test_driver.cc47
-rw-r--r--qpdf/test_large_file.cc4
-rw-r--r--qpdf/test_tokenizer.cc18
-rw-r--r--zlib-flate/zlib-flate.cc4
14 files changed, 79 insertions, 79 deletions
diff --git a/CMakeLists.txt b/CMakeLists.txt
index 569da980..226e6a2e 100644
--- a/CMakeLists.txt
+++ b/CMakeLists.txt
@@ -108,7 +108,7 @@ if(NOT (BUILD_STATIC_LIBS OR BUILD_SHARED_LIBS))
FATAL_ERROR "At least one of static or shared libraries must be built")
endif()
-add_compile_definitions($<$<COMPILE_LANGUAGE:CXX>:POINTERHOLDER_TRANSITION=2>)
+add_compile_definitions($<$<COMPILE_LANGUAGE:CXX>:POINTERHOLDER_TRANSITION=3>)
enable_testing()
set(RUN_QTEST perl ${qpdf_SOURCE_DIR}/run-qtest)
diff --git a/examples/pdf-create.cc b/examples/pdf-create.cc
index b070b3aa..a7b7557e 100644
--- a/examples/pdf-create.cc
+++ b/examples/pdf-create.cc
@@ -176,7 +176,7 @@ add_page(
// with /FlateDecode if we don't provide any other form of
// compression.
ImageProvider* p = new ImageProvider(color_space, filter);
- PointerHolder<QPDFObjectHandle::StreamDataProvider> provider(p);
+ std::shared_ptr<QPDFObjectHandle::StreamDataProvider> provider(p);
size_t width = p->getWidth();
size_t height = p->getHeight();
QPDFObjectHandle image = QPDFObjectHandle::newStream(&pdf);
@@ -296,10 +296,10 @@ check(
// Check image data
auto actual_data = image.getStreamData(qpdf_dl_all);
ImageProvider* p = new ImageProvider(desired_color_space, "null");
- PointerHolder<QPDFObjectHandle::StreamDataProvider> provider(p);
+ std::shared_ptr<QPDFObjectHandle::StreamDataProvider> provider(p);
Pl_Buffer b_p("get image data");
provider->provideStreamData(0, 0, &b_p);
- PointerHolder<Buffer> desired_data(b_p.getBuffer());
+ std::shared_ptr<Buffer> desired_data(b_p.getBuffer());
if (desired_data->getSize() != actual_data->getSize()) {
std::cout << "page " << pageno << ": image data length mismatch"
diff --git a/examples/pdf-custom-filter.cc b/examples/pdf-custom-filter.cc
index b6d88684..72aa93b5 100644
--- a/examples/pdf-custom-filter.cc
+++ b/examples/pdf-custom-filter.cc
@@ -205,7 +205,7 @@ class StreamReplacer: public QPDFObjectHandle::StreamDataProvider
void registerStream(
QPDFObjectHandle stream,
- PointerHolder<QPDFObjectHandle::StreamDataProvider> self);
+ std::shared_ptr<QPDFObjectHandle::StreamDataProvider> self);
private:
bool maybeReplace(
@@ -283,7 +283,7 @@ StreamReplacer::maybeReplace(
// make all its decisions from the stream dictionary. However,
// it's a good idea to make sure we can retrieve the filtered data
// if we are going to need it later.
- PointerHolder<Buffer> out;
+ std::shared_ptr<Buffer> out;
try {
out = stream.getStreamData();
} catch (...) {
@@ -321,7 +321,7 @@ StreamReplacer::maybeReplace(
void
StreamReplacer::registerStream(
QPDFObjectHandle stream,
- PointerHolder<QPDFObjectHandle::StreamDataProvider> self)
+ std::shared_ptr<QPDFObjectHandle::StreamDataProvider> self)
{
QPDFObjGen og(stream.getObjGen());
@@ -409,10 +409,10 @@ process(
qpdf.processFile(infilename);
// Create a single StreamReplacer instance. The interface requires
- // a PointerHolder in various places, so allocate a StreamReplacer
- // and stash it in a PointerHolder.
+ // a std::shared_ptr in various places, so allocate a StreamReplacer
+ // and stash it in a std::shared_ptr.
StreamReplacer* replacer = new StreamReplacer(&qpdf);
- PointerHolder<QPDFObjectHandle::StreamDataProvider> p(replacer);
+ std::shared_ptr<QPDFObjectHandle::StreamDataProvider> p(replacer);
for (auto& o : qpdf.getAllObjects()) {
if (o.isStream()) {
diff --git a/examples/pdf-filter-tokens.cc b/examples/pdf-filter-tokens.cc
index 39950752..eee90c33 100644
--- a/examples/pdf-filter-tokens.cc
+++ b/examples/pdf-filter-tokens.cc
@@ -207,10 +207,11 @@ main(int argc, char* argv[])
// details.
QPDFPageObjectHelper& page(*iter);
page.addContentTokenFilter(
- PointerHolder<QPDFObjectHandle::TokenFilter>(
+ std::shared_ptr<QPDFObjectHandle::TokenFilter>(
new StringReverser));
page.addContentTokenFilter(
- PointerHolder<QPDFObjectHandle::TokenFilter>(new ColorToGray));
+ std::shared_ptr<QPDFObjectHandle::TokenFilter>(
+ new ColorToGray));
}
QPDFWriter w(pdf, outfilename);
diff --git a/examples/pdf-invert-images.cc b/examples/pdf-invert-images.cc
index df9e7362..033e3622 100644
--- a/examples/pdf-invert-images.cc
+++ b/examples/pdf-invert-images.cc
@@ -41,7 +41,7 @@ class ImageInverter: public QPDFObjectHandle::StreamDataProvider
void registerImage(
QPDFObjectHandle image,
- PointerHolder<QPDFObjectHandle::StreamDataProvider> self);
+ std::shared_ptr<QPDFObjectHandle::StreamDataProvider> self);
private:
std::map<QPDFObjGen, QPDFObjectHandle> copied_images;
@@ -50,14 +50,14 @@ class ImageInverter: public QPDFObjectHandle::StreamDataProvider
void
ImageInverter::registerImage(
QPDFObjectHandle image,
- PointerHolder<QPDFObjectHandle::StreamDataProvider> self)
+ std::shared_ptr<QPDFObjectHandle::StreamDataProvider> self)
{
// replaceStreamData requires a pointer holder to the stream data
// provider, but there's no way for us to generate one ourselves,
// so we have to have it handed to us. Don't be tempted to have
- // the class contain a PointerHolder to itself as a member. Doing
+ // the class contain a std::shared_ptr to itself as a member. Doing
// this will prevent the class from ever being deleted since the
- // reference count will never drop to zero (and PointerHolder
+ // reference count will never drop to zero (and std::shared_ptr
// doesn't have weak references).
QPDFObjGen og(image.getObjGen());
@@ -90,7 +90,7 @@ ImageInverter::provideStreamData(int objid, int generation, Pipeline* pipeline)
// image data. Then invert the image data and write the inverted
// data to the pipeline.
QPDFObjGen og(objid, generation);
- PointerHolder<Buffer> data =
+ std::shared_ptr<Buffer> data =
this->copied_images[og].getStreamData(qpdf_dl_all);
size_t size = data->getSize();
unsigned char* buf = data->getBuffer();
@@ -128,7 +128,7 @@ main(int argc, char* argv[])
qpdf.processFile(infilename, password);
ImageInverter* inv = new ImageInverter;
- auto p = PointerHolder<QPDFObjectHandle::StreamDataProvider>(inv);
+ auto p = std::shared_ptr<QPDFObjectHandle::StreamDataProvider>(inv);
// For each page...
std::vector<QPDFPageObjectHelper> pages =
diff --git a/fuzz/qpdf_fuzzer.cc b/fuzz/qpdf_fuzzer.cc
index 3c76bbc9..15469782 100644
--- a/fuzz/qpdf_fuzzer.cc
+++ b/fuzz/qpdf_fuzzer.cc
@@ -34,9 +34,9 @@ class FuzzHelper
void run();
private:
- PointerHolder<QPDF> getQpdf();
- PointerHolder<QPDFWriter> getWriter(PointerHolder<QPDF>);
- void doWrite(PointerHolder<QPDFWriter> w);
+ std::shared_ptr<QPDF> getQpdf();
+ std::shared_ptr<QPDFWriter> getWriter(std::shared_ptr<QPDF>);
+ void doWrite(std::shared_ptr<QPDFWriter> w);
void testWrite();
void testPages();
void testOutlines();
@@ -52,27 +52,27 @@ FuzzHelper::FuzzHelper(unsigned char const* data, size_t size) :
{
}
-PointerHolder<QPDF>
+std::shared_ptr<QPDF>
FuzzHelper::getQpdf()
{
- auto is = PointerHolder<InputSource>(
+ auto is = std::shared_ptr<InputSource>(
new BufferInputSource("fuzz input", &this->input_buffer));
- auto qpdf = make_pointer_holder<QPDF>();
+ auto qpdf = std::make_shared<QPDF>();
qpdf->processInputSource(is);
return qpdf;
}
-PointerHolder<QPDFWriter>
-FuzzHelper::getWriter(PointerHolder<QPDF> qpdf)
+std::shared_ptr<QPDFWriter>
+FuzzHelper::getWriter(std::shared_ptr<QPDF> qpdf)
{
- auto w = make_pointer_holder<QPDFWriter>(*qpdf);
+ auto w = std::make_shared<QPDFWriter>(*qpdf);
w->setOutputPipeline(&this->discard);
w->setDecodeLevel(qpdf_dl_all);
return w;
}
void
-FuzzHelper::doWrite(PointerHolder<QPDFWriter> w)
+FuzzHelper::doWrite(std::shared_ptr<QPDFWriter> w)
{
try {
w->write();
@@ -88,8 +88,8 @@ FuzzHelper::testWrite()
{
// Write in various ways to exercise QPDFWriter
- PointerHolder<QPDF> q;
- PointerHolder<QPDFWriter> w;
+ std::shared_ptr<QPDF> q;
+ std::shared_ptr<QPDFWriter> w;
q = getQpdf();
w = getWriter(q);
@@ -126,7 +126,7 @@ FuzzHelper::testPages()
{
// Parse all content streams, and exercise some helpers that
// operate on pages.
- PointerHolder<QPDF> q = getQpdf();
+ std::shared_ptr<QPDF> q = getQpdf();
QPDFPageDocumentHelper pdh(*q);
QPDFPageLabelDocumentHelper pldh(*q);
QPDFOutlineDocumentHelper odh(*q);
@@ -168,7 +168,7 @@ FuzzHelper::testPages()
void
FuzzHelper::testOutlines()
{
- PointerHolder<QPDF> q = getQpdf();
+ std::shared_ptr<QPDF> q = getQpdf();
std::list<std::vector<QPDFOutlineObjectHelper>> queue;
QPDFOutlineDocumentHelper odh(*q);
queue.push_back(odh.getTopLevelOutlines());
diff --git a/fuzz/standalone_fuzz_target_runner.cc b/fuzz/standalone_fuzz_target_runner.cc
index 066764a2..143f4e6f 100644
--- a/fuzz/standalone_fuzz_target_runner.cc
+++ b/fuzz/standalone_fuzz_target_runner.cc
@@ -8,7 +8,7 @@ int
main(int argc, char** argv)
{
for (int i = 1; i < argc; i++) {
- PointerHolder<char> file_buf;
+ std::shared_ptr<char> file_buf;
size_t size = 0;
QUtil::read_file_into_memory(argv[i], file_buf, size);
LLVMFuzzerTestOneInput(
diff --git a/libtests/input_source.cc b/libtests/input_source.cc
index cb62daea..a32428be 100644
--- a/libtests/input_source.cc
+++ b/libtests/input_source.cc
@@ -5,11 +5,11 @@
#include <cstring>
#include <iostream>
-static PointerHolder<Buffer>
+static std::shared_ptr<Buffer>
get_buffer()
{
size_t size = 3172;
- PointerHolder<Buffer> b(new Buffer(size));
+ std::shared_ptr<Buffer> b(new Buffer(size));
unsigned char* p = b->getBuffer();
for (size_t i = 0; i < size; ++i) {
p[i] = static_cast<unsigned char>(i & 0xff);
@@ -20,7 +20,7 @@ get_buffer()
class Finder: public InputSource::Finder
{
public:
- Finder(PointerHolder<InputSource> is, std::string const& after) :
+ Finder(std::shared_ptr<InputSource> is, std::string const& after) :
is(is),
after(after)
{
@@ -31,7 +31,7 @@ class Finder: public InputSource::Finder
virtual bool check();
private:
- PointerHolder<InputSource> is;
+ std::shared_ptr<InputSource> is;
std::string after;
};
@@ -57,14 +57,14 @@ check(char const* description, bool expected, bool actual)
int
main()
{
- PointerHolder<Buffer> b1 = get_buffer();
+ std::shared_ptr<Buffer> b1 = get_buffer();
unsigned char* b = b1->getBuffer();
// Straddle block boundaries
memcpy(b + 1022, "potato", 6);
// Overlap so that the first check() would advance past the start
// of the next match
memcpy(b + 2037, "potato potato salad ", 20);
- auto is = PointerHolder<InputSource>(
+ auto is = std::shared_ptr<InputSource>(
new BufferInputSource("test buffer input source", b1.get()));
Finder f1(is, "salad");
check("find potato salad", true, is->findFirst("potato", 0, 0, f1));
diff --git a/libtests/json_parse.cc b/libtests/json_parse.cc
index 13d29b65..77692eab 100644
--- a/libtests/json_parse.cc
+++ b/libtests/json_parse.cc
@@ -11,7 +11,7 @@ main(int argc, char* argv[])
}
char const* filename = argv[1];
try {
- PointerHolder<char> buf;
+ std::shared_ptr<char> buf;
size_t size;
QUtil::read_file_into_memory(filename, buf, size);
std::string s(buf.get(), size);
diff --git a/libtests/qutil.cc b/libtests/qutil.cc
index fea9fca1..dda49898 100644
--- a/libtests/qutil.cc
+++ b/libtests/qutil.cc
@@ -529,7 +529,7 @@ read_from_file_test()
fclose(fp);
}
- PointerHolder<char> buf;
+ std::shared_ptr<char> buf;
size_t size = 0;
QUtil::read_file_into_memory("other-file", buf, size);
std::cout << "read " << size << " bytes" << std::endl;
@@ -595,7 +595,7 @@ assert_no_file(char const* filename)
void
rename_delete_test()
{
- PointerHolder<char> buf;
+ std::shared_ptr<char> buf;
size_t size = 0;
try {
diff --git a/qpdf/test_driver.cc b/qpdf/test_driver.cc
index c697bdc9..8a93721f 100644
--- a/qpdf/test_driver.cc
+++ b/qpdf/test_driver.cc
@@ -49,7 +49,7 @@ usage()
class Provider: public QPDFObjectHandle::StreamDataProvider
{
public:
- Provider(PointerHolder<Buffer> b) :
+ Provider(std::shared_ptr<Buffer> b) :
b(b),
bad_length(false)
{
@@ -74,7 +74,7 @@ class Provider: public QPDFObjectHandle::StreamDataProvider
}
private:
- PointerHolder<Buffer> b;
+ std::shared_ptr<Buffer> b;
bool bad_length;
};
@@ -151,7 +151,7 @@ class TokenFilter: public QPDFObjectHandle::TokenFilter
static std::string
getPageContents(QPDFObjectHandle page)
{
- PointerHolder<Buffer> b1 = page.getKey("/Contents").getStreamData();
+ std::shared_ptr<Buffer> b1 = page.getKey("/Contents").getStreamData();
return std::string(
reinterpret_cast<char*>(b1->getBuffer()), b1->getSize()) +
"\0";
@@ -271,14 +271,14 @@ test_0_1(QPDF& pdf, char const* arg2)
std::cout << "Raw stream data:" << std::endl;
std::cout.flush();
QUtil::binary_stdout();
- auto out = make_pointer_holder<Pl_StdioFile>("raw", stdout);
+ auto out = std::make_shared<Pl_StdioFile>("raw", stdout);
qtest.pipeStreamData(out.get(), 0, qpdf_dl_none);
std::cout << std::endl << "Uncompressed stream data:" << std::endl;
if (qtest.pipeStreamData(0, 0, qpdf_dl_all)) {
std::cout.flush();
QUtil::binary_stdout();
- out = make_pointer_holder<Pl_StdioFile>("filtered", stdout);
+ out = std::make_shared<Pl_StdioFile>("filtered", stdout);
qtest.pipeStreamData(out.get(), 0, qpdf_dl_all);
std::cout << std::endl << "End of stream data" << std::endl;
} else {
@@ -316,7 +316,7 @@ test_2(QPDF& pdf, char const* arg2)
QPDFObjectHandle page = kids.getArrayItem(1); // second page
QPDFObjectHandle contents = page.getKey("/Contents");
QUtil::binary_stdout();
- auto out = make_pointer_holder<Pl_StdioFile>("filtered", stdout);
+ auto out = std::make_shared<Pl_StdioFile>("filtered", stdout);
contents.pipeStreamData(out.get(), 0, qpdf_dl_generalized);
}
@@ -329,8 +329,7 @@ test_3(QPDF& pdf, char const* arg2)
std::cout << "-- stream " << i << " --" << std::endl;
std::cout.flush();
QUtil::binary_stdout();
- auto out =
- make_pointer_holder<Pl_StdioFile>("tokenized stream", stdout);
+ auto out = std::make_shared<Pl_StdioFile>("tokenized stream", stdout);
stream.pipeStreamData(
out.get(), qpdf_ef_normalize, qpdf_dl_generalized);
}
@@ -503,7 +502,7 @@ test_8(QPDF& pdf, char const* arg2)
// This is a bogus way to use StreamDataProvider, but it does
// adequately test its functionality.
Provider* provider = new Provider(b);
- auto p = PointerHolder<QPDFObjectHandle::StreamDataProvider>(provider);
+ auto p = std::shared_ptr<QPDFObjectHandle::StreamDataProvider>(provider);
qstream.replaceStreamData(
p,
QPDFObjectHandle::newName("/FlateDecode"),
@@ -532,7 +531,7 @@ test_9(QPDF& pdf, char const* arg2)
{
QPDFObjectHandle root = pdf.getRoot();
// Explicitly exercise the Buffer version of newStream
- auto buf = make_pointer_holder<Buffer>(20U);
+ auto buf = std::make_shared<Buffer>(20U);
unsigned char* bp = buf->getBuffer();
memcpy(bp, "data for new stream\n", 20); // no null!
QPDFObjectHandle qstream = QPDFObjectHandle::newStream(&pdf, buf);
@@ -581,8 +580,8 @@ test_11(QPDF& pdf, char const* arg2)
{
QPDFObjectHandle root = pdf.getRoot();
QPDFObjectHandle qstream = root.getKey("/QStream");
- PointerHolder<Buffer> b1 = qstream.getStreamData();
- PointerHolder<Buffer> b2 = qstream.getRawStreamData();
+ std::shared_ptr<Buffer> b1 = qstream.getStreamData();
+ std::shared_ptr<Buffer> b2 = qstream.getRawStreamData();
if ((b1->getSize() == 7) && (memcmp(b1->getBuffer(), "potato\n", 7) == 0)) {
std::cout << "filtered stream data okay" << std::endl;
}
@@ -815,7 +814,7 @@ test_17(QPDF& pdf, char const* arg2)
QPDFObjectHandle(pages.at(1)).getKey("/Contents").getObjGen());
pdf.removePage(pages.at(0));
assert(pages.size() == 2);
- PointerHolder<Buffer> b =
+ std::shared_ptr<Buffer> b =
QPDFObjectHandle(pages.at(0)).getKey("/Contents").getStreamData();
std::string contents = std::string(
reinterpret_cast<char const*>(b->getBuffer()), b->getSize());
@@ -1039,7 +1038,7 @@ test_27(QPDF& pdf, char const* arg2)
// also exercise setImmediateCopyFrom.
// Create a provider. The provider stays in scope.
- PointerHolder<QPDFObjectHandle::StreamDataProvider> p1;
+ std::shared_ptr<QPDFObjectHandle::StreamDataProvider> p1;
{
// Local scope
Pl_Buffer pl("buffer");
@@ -1065,7 +1064,7 @@ test_27(QPDF& pdf, char const* arg2)
// Make sure some source PDFs are out of scope when we
// write.
- PointerHolder<QPDFObjectHandle::StreamDataProvider> p2;
+ std::shared_ptr<QPDFObjectHandle::StreamDataProvider> p2;
// Create another provider. This one will go out of scope
// along with its containing qpdf, which has
// setImmediateCopyFrom(true).
@@ -1266,7 +1265,7 @@ test_35(QPDF& pdf, char const* arg2)
{
// Extract attachments
- std::map<std::string, PointerHolder<Buffer>> attachments;
+ std::map<std::string, std::shared_ptr<Buffer>> attachments;
QPDFObjectHandle root = pdf.getRoot();
QPDFObjectHandle names = root.getKey("/Names");
QPDFObjectHandle embeddedFiles = names.getKey("/EmbeddedFiles");
@@ -1282,7 +1281,7 @@ test_35(QPDF& pdf, char const* arg2)
attachments[filename] = stream.getStreamData();
}
}
- for (std::map<std::string, PointerHolder<Buffer>>::iterator iter =
+ for (std::map<std::string, std::shared_ptr<Buffer>>::iterator iter =
attachments.begin();
iter != attachments.end();
++iter) {
@@ -1421,7 +1420,7 @@ test_41(QPDF& pdf, char const* arg2)
iter != pages.end();
++iter) {
(*iter).addContentTokenFilter(
- PointerHolder<QPDFObjectHandle::TokenFilter>(new TokenFilter()));
+ std::shared_ptr<QPDFObjectHandle::TokenFilter>(new TokenFilter()));
}
QPDFWriter w(pdf, "a.pdf");
w.setQDFMode(true);
@@ -2468,12 +2467,12 @@ test_68(QPDF& pdf, char const* arg2)
} catch (std::exception& e) {
std::cout << "get unfilterable stream: " << e.what() << std::endl;
}
- PointerHolder<Buffer> b1 = qstream.getStreamData(qpdf_dl_all);
+ std::shared_ptr<Buffer> b1 = qstream.getStreamData(qpdf_dl_all);
if ((b1->getSize() > 10) &&
(memcmp(b1->getBuffer(), "wwwwwwwww", 9) == 0)) {
std::cout << "filtered stream data okay" << std::endl;
}
- PointerHolder<Buffer> b2 = qstream.getRawStreamData();
+ std::shared_ptr<Buffer> b2 = qstream.getRawStreamData();
if ((b2->getSize() > 10) &&
(memcmp(
b2->getBuffer(), "\xff\xd8\xff\xe0\x00\x10\x4a\x46\x49\x46", 10) ==
@@ -2578,11 +2577,11 @@ test_72(QPDF& pdf, char const* arg2)
Pl_Buffer b("buffer");
if (i == 0) {
fx1.addContentTokenFilter(
- PointerHolder<QPDFObjectHandle::TokenFilter>(
+ std::shared_ptr<QPDFObjectHandle::TokenFilter>(
new TokenFilter()));
} else {
fx1.getObjectHandle().addTokenFilter(
- PointerHolder<QPDFObjectHandle::TokenFilter>(
+ std::shared_ptr<QPDFObjectHandle::TokenFilter>(
new TokenFilter()));
}
fx1.pipeContents(&b);
@@ -2999,7 +2998,7 @@ test_83(QPDF& pdf, char const* arg2)
// partial = true, we just use qpdf --job-json-file.
QPDFJob j;
- PointerHolder<char> file_buf;
+ std::shared_ptr<char> file_buf;
size_t size;
QUtil::read_file_into_memory(arg2, file_buf, size);
try {
@@ -3201,7 +3200,7 @@ runtest(int n, char const* filename1, char const* arg2)
}
QPDF pdf;
- PointerHolder<char> file_buf;
+ std::shared_ptr<char> file_buf;
FILE* filep = 0;
if (n == 0) {
pdf.setAttemptRecovery(false);
diff --git a/qpdf/test_large_file.cc b/qpdf/test_large_file.cc
index 0a81dcc7..24fc9e11 100644
--- a/qpdf/test_large_file.cc
+++ b/qpdf/test_large_file.cc
@@ -231,7 +231,7 @@ create_pdf(char const* filename)
image_dict.replaceKey("/Width", newInteger(width));
image_dict.replaceKey("/Height", newInteger(height));
ImageProvider* p = new ImageProvider(pageno);
- PointerHolder<QPDFObjectHandle::StreamDataProvider> provider(p);
+ std::shared_ptr<QPDFObjectHandle::StreamDataProvider> provider(p);
image.replaceStreamData(
provider, QPDFObjectHandle::newNull(), QPDFObjectHandle::newNull());
@@ -265,7 +265,7 @@ create_pdf(char const* filename)
static void
check_page_contents(size_t pageno, QPDFObjectHandle page)
{
- PointerHolder<Buffer> buf = page.getKey("/Contents").getStreamData();
+ std::shared_ptr<Buffer> buf = page.getKey("/Contents").getStreamData();
std::string actual_contents =
std::string(reinterpret_cast<char*>(buf->getBuffer()), buf->getSize());
std::string expected_contents = generate_page_contents(pageno);
diff --git a/qpdf/test_tokenizer.cc b/qpdf/test_tokenizer.cc
index c609d848..5b99888c 100644
--- a/qpdf/test_tokenizer.cc
+++ b/qpdf/test_tokenizer.cc
@@ -25,7 +25,7 @@ usage()
class Finder: public InputSource::Finder
{
public:
- Finder(PointerHolder<InputSource> is, std::string const& str) :
+ Finder(std::shared_ptr<InputSource> is, std::string const& str) :
is(is),
str(str)
{
@@ -36,7 +36,7 @@ class Finder: public InputSource::Finder
virtual bool check();
private:
- PointerHolder<InputSource> is;
+ std::shared_ptr<InputSource> is;
std::string str;
};
@@ -117,7 +117,7 @@ sanitize(std::string const& value)
static void
try_skipping(
QPDFTokenizer& tokenizer,
- PointerHolder<InputSource> is,
+ std::shared_ptr<InputSource> is,
size_t max_len,
char const* what,
Finder& f)
@@ -132,7 +132,7 @@ try_skipping(
static void
dump_tokens(
- PointerHolder<InputSource> is,
+ std::shared_ptr<InputSource> is,
std::string const& label,
size_t max_len,
bool include_ignorable,
@@ -191,12 +191,12 @@ dump_tokens(
static void
process(char const* filename, bool include_ignorable, size_t max_len)
{
- PointerHolder<InputSource> is;
+ std::shared_ptr<InputSource> is;
// Tokenize file, skipping streams
FileInputSource* fis = new FileInputSource();
fis->setFilename(filename);
- is = PointerHolder<InputSource>(fis);
+ is = std::shared_ptr<InputSource>(fis);
dump_tokens(is, "FILE", max_len, include_ignorable, true, false);
// Tokenize content streams, skipping inline images
@@ -214,7 +214,7 @@ process(char const* filename, bool include_ignorable, size_t max_len)
auto content_data = plb.getBufferSharedPointer();
BufferInputSource* bis =
new BufferInputSource("content data", content_data.get());
- is = PointerHolder<InputSource>(bis);
+ is = std::shared_ptr<InputSource>(bis);
dump_tokens(
is,
"PAGE " + QUtil::int_to_string(pageno),
@@ -231,11 +231,11 @@ process(char const* filename, bool include_ignorable, size_t max_len)
++iter) {
if ((*iter).isStream() && (*iter).getDict().getKey("/Type").isName() &&
(*iter).getDict().getKey("/Type").getName() == "/ObjStm") {
- PointerHolder<Buffer> b =
+ std::shared_ptr<Buffer> b =
(*iter).getStreamData(qpdf_dl_specialized);
BufferInputSource* bis =
new BufferInputSource("object stream data", b.get());
- is = PointerHolder<InputSource>(bis);
+ is = std::shared_ptr<InputSource>(bis);
dump_tokens(
is,
"OBJECT STREAM " + QUtil::int_to_string((*iter).getObjectID()),
diff --git a/zlib-flate/zlib-flate.cc b/zlib-flate/zlib-flate.cc
index 671227b1..f7d0c807 100644
--- a/zlib-flate/zlib-flate.cc
+++ b/zlib-flate/zlib-flate.cc
@@ -59,8 +59,8 @@ main(int argc, char* argv[])
QUtil::binary_stdout();
QUtil::binary_stdin();
- auto out = make_pointer_holder<Pl_StdioFile>("stdout", stdout);
- auto flate = make_pointer_holder<Pl_Flate>("flate", out.get(), action);
+ auto out = std::make_shared<Pl_StdioFile>("stdout", stdout);
+ auto flate = std::make_shared<Pl_Flate>("flate", out.get(), action);
bool warn = false;
flate->setWarnCallback([&warn](char const* msg, int code) {
warn = true;