aboutsummaryrefslogtreecommitdiffstats
path: root/libqpdf
diff options
context:
space:
mode:
authorJay Berkenbilt <ejb@ql.org>2022-02-07 14:02:16 +0100
committerJay Berkenbilt <ejb@ql.org>2022-02-07 20:08:46 +0100
commitdf2f5c6a360bd7512d2280aa9cb582bc0aa622bd (patch)
treef7a036ddeee36a172e1903056e7f4ed49a323efd /libqpdf
parentcfaae47dc6704a54e3e84decbfbe8840c33f2fc4 (diff)
downloadqpdf-df2f5c6a360bd7512d2280aa9cb582bc0aa622bd.tar.zst
Add QUtil::make_shared_array to help with PointerHolder transition
Diffstat (limited to 'libqpdf')
-rw-r--r--libqpdf/QPDFArgParser.cc10
-rw-r--r--libqpdf/QUtil.cc4
2 files changed, 5 insertions, 9 deletions
diff --git a/libqpdf/QPDFArgParser.cc b/libqpdf/QPDFArgParser.cc
index b1658fea..9ddb120c 100644
--- a/libqpdf/QPDFArgParser.cc
+++ b/libqpdf/QPDFArgParser.cc
@@ -299,9 +299,8 @@ QPDFArgParser::handleArgFileArguments()
QUtil::make_shared_cstr(this->m->argv[i]));
}
}
- this->m->argv_ph = std::shared_ptr<char const*>(
- new char const*[1 + this->m->new_argv.size()],
- std::default_delete<char const*[]>());
+ this->m->argv_ph = QUtil::make_shared_array<char const*>(
+ 1 + this->m->new_argv.size());
for (size_t i = 0; i < this->m->new_argv.size(); ++i)
{
this->m->argv_ph.get()[i] = this->m->new_argv.at(i).get();
@@ -404,9 +403,8 @@ QPDFArgParser::handleBashArguments()
}
// Explicitly discard any non-space-terminated word. The "current
// word" is handled specially.
- this->m->bash_argv_ph = std::shared_ptr<char const*>(
- new char const*[1 + this->m->bash_argv.size()],
- std::default_delete<char const*[]>());
+ this->m->bash_argv_ph = QUtil::make_shared_array<char const*>(
+ 1 + this->m->bash_argv.size());
for (size_t i = 0; i < this->m->bash_argv.size(); ++i)
{
this->m->bash_argv_ph.get()[i] = this->m->bash_argv.at(i).get();
diff --git a/libqpdf/QUtil.cc b/libqpdf/QUtil.cc
index 503d79f9..1f179fd5 100644
--- a/libqpdf/QUtil.cc
+++ b/libqpdf/QUtil.cc
@@ -735,9 +735,7 @@ QUtil::copy_string(std::string const& str)
std::shared_ptr<char>
QUtil::make_shared_cstr(std::string const& str)
{
- auto result = std::shared_ptr<char>(
- new char[str.length() + 1],
- std::default_delete<char[]>());
+ auto result = QUtil::make_shared_array<char>(str.length() + 1);
// Use memcpy in case string contains nulls
result.get()[str.length()] = '\0';
memcpy(result.get(), str.c_str(), str.length());