aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorJay Berkenbilt <ejb@ql.org>2022-01-23 00:49:05 +0100
committerJay Berkenbilt <ejb@ql.org>2022-01-30 19:11:03 +0100
commitd526d4c17f9de11c4a7a2cd5f27e7e4419d9b33a (patch)
tree03b0e75fd02417febb448c54e745b2164910fdf3
parent88891a75a231a108dca2628f06c16b62c58e4311 (diff)
downloadqpdf-d526d4c17f9de11c4a7a2cd5f27e7e4419d9b33a.tar.zst
QPDFJob: convert Under/Overlay to use shared pointers
-rw-r--r--include/qpdf/QPDFJob.hh6
-rw-r--r--libqpdf/QPDFJob.cc4
-rw-r--r--libqpdf/QPDFJob_argv.cc6
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<char> 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");
}