aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--include/qpdf/QPDFJob.hh2
-rw-r--r--libqpdf/QPDFJob_argv.cc9
-rw-r--r--qpdf/qpdf.cc1
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>