From d526d4c17f9de11c4a7a2cd5f27e7e4419d9b33a Mon Sep 17 00:00:00 2001 From: Jay Berkenbilt Date: Sat, 22 Jan 2022 18:49:05 -0500 Subject: QPDFJob: convert Under/Overlay to use shared pointers --- include/qpdf/QPDFJob.hh | 6 ++---- libqpdf/QPDFJob.cc | 4 ++-- libqpdf/QPDFJob_argv.cc | 6 +++--- 3 files changed, 7 insertions(+), 9 deletions(-) diff --git a/include/qpdf/QPDFJob.hh b/include/qpdf/QPDFJob.hh index b57ae5b4..4192be66 100644 --- a/include/qpdf/QPDFJob.hh +++ b/include/qpdf/QPDFJob.hh @@ -148,8 +148,6 @@ class QPDFJob { UnderOverlay(char const* which) : which(which), - filename(0), - password(0), to_nr("1-z"), from_nr("1-z"), repeat_nr("") @@ -157,8 +155,8 @@ class QPDFJob } std::string which; - char const* filename; - char const* password; + std::string filename; + std::shared_ptr password; std::string to_nr; std::string from_nr; std::string repeat_nr; diff --git a/libqpdf/QPDFJob.cc b/libqpdf/QPDFJob.cc index 591f306a..0a394745 100644 --- a/libqpdf/QPDFJob.cc +++ b/libqpdf/QPDFJob.cc @@ -1934,13 +1934,13 @@ QPDFJob::processInputSource( void QPDFJob::validateUnderOverlay(QPDF& pdf, QPDFJob::UnderOverlay* uo) { - if (0 == uo->filename) + if (uo->filename.empty()) { return; } QPDFPageDocumentHelper main_pdh(pdf); int main_npages = QIntC::to_int(main_pdh.getAllPages().size()); - uo->pdf = processFile(uo->filename, uo->password); + uo->pdf = processFile(uo->filename.c_str(), uo->password.get()); QPDFPageDocumentHelper uo_pdh(*(uo->pdf)); int uo_npages = QIntC::to_int(uo_pdh.getAllPages().size()); try diff --git a/libqpdf/QPDFJob_argv.cc b/libqpdf/QPDFJob_argv.cc index 9ad02a02..316beda0 100644 --- a/libqpdf/QPDFJob_argv.cc +++ b/libqpdf/QPDFJob_argv.cc @@ -1135,7 +1135,7 @@ ArgParser::argEnd256BitEncryption() void ArgParser::argUOPositional(char* arg) { - if (o.under_overlay->filename) + if (! o.under_overlay->filename.empty()) { usage(o.under_overlay->which + " file already specified"); } @@ -1175,13 +1175,13 @@ ArgParser::argUORepeat(char* parameter) void ArgParser::argUOPassword(char* parameter) { - o.under_overlay->password = parameter; + o.under_overlay->password = QUtil::make_shared_cstr(parameter); } void ArgParser::argEndUnderlayOverlay() { - if (0 == o.under_overlay->filename) + if (o.under_overlay->filename.empty()) { usage(o.under_overlay->which + " file not specified"); } -- cgit v1.2.3-54-g00ecf