diff options
-rw-r--r-- | include/qpdf/QPDFJob.hh | 2 | ||||
-rw-r--r-- | libqpdf/QPDFJob_argv.cc | 9 | ||||
-rw-r--r-- | qpdf/qpdf.cc | 1 |
3 files changed, 4 insertions, 8 deletions
diff --git a/include/qpdf/QPDFJob.hh b/include/qpdf/QPDFJob.hh index 4192be66..de51dc57 100644 --- a/include/qpdf/QPDFJob.hh +++ b/include/qpdf/QPDFJob.hh @@ -26,7 +26,6 @@ #include <qpdf/Constants.h> #include <qpdf/QPDF.hh> #include <qpdf/QPDFPageObjectHelper.hh> -#include <qpdf/QPDFArgParser.hh> #include <memory> #include <string> @@ -387,7 +386,6 @@ class QPDFJob std::ostream* cout; std::ostream* cerr; unsigned long encryption_status; - std::shared_ptr<QPDFArgParser> ap; }; std::shared_ptr<Members> m; }; diff --git a/libqpdf/QPDFJob_argv.cc b/libqpdf/QPDFJob_argv.cc index 316beda0..8da5e836 100644 --- a/libqpdf/QPDFJob_argv.cc +++ b/libqpdf/QPDFJob_argv.cc @@ -1529,11 +1529,8 @@ QPDFJob::initializeFromArgv(int argc, char* argv[], char const* progname_env) { progname_env = "QPDF_EXECUTABLE"; } - // 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 = std::make_shared<QPDFArgParser>(argc, argv, progname_env); - setMessagePrefix(this->m->ap->getProgname()); - ArgParser ap(*this->m->ap, *this); + QPDFArgParser qap(argc, argv, progname_env); + setMessagePrefix(qap.getProgname()); + ArgParser ap(qap, *this); ap.parseOptions(); } diff --git a/qpdf/qpdf.cc b/qpdf/qpdf.cc index 77fb8cb1..04cd2244 100644 --- a/qpdf/qpdf.cc +++ b/qpdf/qpdf.cc @@ -1,6 +1,7 @@ #include <qpdf/QPDFJob.hh> #include <qpdf/QTC.hh> #include <qpdf/QUtil.hh> +#include <qpdf/QPDFArgParser.hh> #include <cstdio> #include <cstdlib> |