From abc300f05c00de72081203d89d9065b25f1ccb3c Mon Sep 17 00:00:00 2001 From: Jay Berkenbilt Date: Fri, 4 Feb 2022 11:03:52 -0500 Subject: Replace containers of PointerHolder with containers of std::shared_ptr None of these are in the public API. --- libqpdf/QPDF_Stream.cc | 24 +++++++++++++----------- 1 file changed, 13 insertions(+), 11 deletions(-) (limited to 'libqpdf/QPDF_Stream.cc') diff --git a/libqpdf/QPDF_Stream.cc b/libqpdf/QPDF_Stream.cc index 8137e211..d905d491 100644 --- a/libqpdf/QPDF_Stream.cc +++ b/libqpdf/QPDF_Stream.cc @@ -463,34 +463,36 @@ QPDF_Stream::pipeStreamData(Pipeline* pipeline, bool* filterp, // create to be deleted when this function finishes. Pipelines // created by QPDFStreamFilter objects will be deleted by those // objects. - std::vector> to_delete; + std::vector> to_delete; PointerHolder normalizer; + std::shared_ptr new_pipeline; if (filter) { if (encode_flags & qpdf_ef_compress) { - pipeline = new Pl_Flate("compress stream", pipeline, - Pl_Flate::a_deflate); - to_delete.push_back(pipeline); + new_pipeline = std::make_shared( + "compress stream", pipeline, Pl_Flate::a_deflate); + to_delete.push_back(new_pipeline); + pipeline = new_pipeline.get(); } if (encode_flags & qpdf_ef_normalize) { normalizer = new ContentNormalizer(); - pipeline = new Pl_QPDFTokenizer( + new_pipeline = std::make_shared( "normalizer", normalizer.get(), pipeline); - to_delete.push_back(pipeline); + to_delete.push_back(new_pipeline); + pipeline = new_pipeline.get(); } - for (std::vector >::reverse_iterator iter = - this->token_filters.rbegin(); + for (auto iter = this->token_filters.rbegin(); iter != this->token_filters.rend(); ++iter) { - pipeline = new Pl_QPDFTokenizer( + new_pipeline = std::make_shared( "token filter", (*iter).get(), pipeline); - to_delete.push_back(pipeline); + to_delete.push_back(new_pipeline); + pipeline = new_pipeline.get(); } for (auto f_iter = filters.rbegin(); -- cgit v1.2.3-54-g00ecf