aboutsummaryrefslogtreecommitdiffstats
path: root/libqpdf/QPDFJob_argv.cc
diff options
context:
space:
mode:
authorJay Berkenbilt <ejb@ql.org>2022-01-22 23:37:51 +0100
committerJay Berkenbilt <ejb@ql.org>2022-01-30 19:11:03 +0100
commit1a8c2eb93b3116a3057e8009b8cbd7510abaf138 (patch)
treeca849cbb6107bde18577ea2a4be5404dd2763b42 /libqpdf/QPDFJob_argv.cc
parent76c4f78b5cfd786b90069f7256252229444fdecd (diff)
downloadqpdf-1a8c2eb93b3116a3057e8009b8cbd7510abaf138.tar.zst
QPDFJob: use std::shared_ptr over PointerHolder where possible
Also fix QPDFArgParser
Diffstat (limited to 'libqpdf/QPDFJob_argv.cc')
-rw-r--r--libqpdf/QPDFJob_argv.cc6
1 files changed, 2 insertions, 4 deletions
diff --git a/libqpdf/QPDFJob_argv.cc b/libqpdf/QPDFJob_argv.cc
index 647311bf..715446d3 100644
--- a/libqpdf/QPDFJob_argv.cc
+++ b/libqpdf/QPDFJob_argv.cc
@@ -198,9 +198,7 @@ ArgParser::argPasswordFile(char* parameter)
if (lines.size() >= 1)
{
// Make sure the memory for this stays in scope.
- o.password_alloc = std::shared_ptr<char>(
- QUtil::copy_string(lines.front().c_str()),
- std::default_delete<char[]>());
+ o.password_alloc = QUtil::make_shared_cstr(lines.front());
o.password = o.password_alloc.get();
if (lines.size() > 1)
@@ -1535,7 +1533,7 @@ QPDFJob::initializeFromArgv(int argc, char* argv[], char const* progname_env)
// QPDFArgParser must stay in scope for the life of the QPDFJob
// object since it holds dynamic memory used for argv, which is
// pointed to by other member variables.
- this->m->ap = new QPDFArgParser(argc, argv, progname_env);
+ this->m->ap = std::make_shared<QPDFArgParser>(argc, argv, progname_env);
setMessagePrefix(this->m->ap->getProgname());
ArgParser ap(*this->m->ap, *this);
ap.parseOptions();