diff --git a/libqpdf/NNTree.cc b/libqpdf/NNTree.cc index 372f7c6..c00a472 100644 --- a/libqpdf/NNTree.cc +++ b/libqpdf/NNTree.cc @@ -666,7 +666,7 @@ NNTreeImpl::repair() NNTreeImpl repl(qpdf, new_node, key_type, value_valid, false); std::map items; for (auto const& [key, value]: *this) { - if (key && value && repl.keyValid(key) && repl.value_valid(value) ) { + if (key && value && repl.keyValid(key) && repl.value_valid(value)) { items.insert_or_assign(key, value); } } diff --git a/libqpdf/QPDFWriter.cc b/libqpdf/QPDFWriter.cc index 3ac9942..66d9249 100644 --- a/libqpdf/QPDFWriter.cc +++ b/libqpdf/QPDFWriter.cc @@ -265,12 +265,25 @@ class QPDFWriter::Members friend class QPDFWriter; public: - ~Members(); + Members(QPDF& pdf) : + pdf(pdf), + root_og( + pdf.getRoot().getObjGen().isIndirect() ? pdf.getRoot().getObjGen() : QPDFObjGen(-1, 0)), + pipeline_stack(pipeline) + { + } - private: - Members(QPDF& pdf); Members(Members const&) = delete; + ~Members() + { + if (file && close_file) { + fclose(file); + } + delete output_buffer; + } + + private: QPDF& pdf; QPDFObjGen root_og{-1, 0}; char const* filename{"unspecified"}; @@ -341,34 +354,19 @@ class QPDFWriter::Members int next_progress_report{0}; }; -QPDFWriter::Members::Members(QPDF& pdf) : - pdf(pdf), - root_og(pdf.getRoot().getObjGen().isIndirect() ? pdf.getRoot().getObjGen() : QPDFObjGen(-1, 0)), - pipeline_stack(pipeline) -{ -} - -QPDFWriter::Members::~Members() -{ - if (file && close_file) { - fclose(file); - } - delete output_buffer; -} - QPDFWriter::QPDFWriter(QPDF& pdf) : - m(new Members(pdf)) + m(std::make_shared(pdf)) { } QPDFWriter::QPDFWriter(QPDF& pdf, char const* filename) : - m(new Members(pdf)) + m(std::make_shared(pdf)) { setOutputFilename(filename); } QPDFWriter::QPDFWriter(QPDF& pdf, char const* description, FILE* file, bool close_file) : - m(new Members(pdf)) + m(std::make_shared(pdf)) { setOutputFile(description, file, close_file); } diff --git a/qpdf/test_driver.cc b/qpdf/test_driver.cc index 09dcd7a..759f27e 100644 --- a/qpdf/test_driver.cc +++ b/qpdf/test_driver.cc @@ -2624,7 +2624,7 @@ test_76(QPDF& pdf, char const* arg2) { // Embedded files. arg2 is a file to attach. Hard-code the // mime type and file name for test purposes. - auto &efdh = QPDFEmbeddedFileDocumentHelper::get(pdf); + auto& efdh = QPDFEmbeddedFileDocumentHelper::get(pdf); auto fs1 = QPDFFileSpecObjectHelper::createFileSpec(pdf, "att1.txt", arg2); fs1.setDescription("some text"); auto efs1 = QPDFEFStreamObjectHelper(fs1.getEmbeddedFileStream());