From e789bf8925fc2cfc8c002e231f3f88feca2273ea Mon Sep 17 00:00:00 2001 From: Axel Kohlmeyer Date: Fri, 6 Aug 2021 11:32:49 -0400 Subject: [PATCH] use temporary vector container to avoid explicit delete[] --- src/modify.cpp | 12 +++++------- 1 file changed, 5 insertions(+), 7 deletions(-) diff --git a/src/modify.cpp b/src/modify.cpp index b2670fe5f9..42c3e62d07 100644 --- a/src/modify.cpp +++ b/src/modify.cpp @@ -1018,13 +1018,12 @@ void Modify::replace_fix(const std::string &oldfix, const std::string &fixcmd, int trysuffix) { auto args = utils::split_words(fixcmd); - char **newarg = new char*[args.size()]; - int i=0; + std::vector newarg(args.size()); + int i = 0; for (const auto &arg : args) { newarg[i++] = (char *)arg.c_str(); } - replace_fix(oldfix.c_str(),args.size(),newarg,trysuffix); - delete[] newarg; + replace_fix(oldfix.c_str(),args.size(),newarg.data(),trysuffix); } /* ---------------------------------------------------------------------- @@ -1279,13 +1278,12 @@ void Modify::add_compute(int narg, char **arg, int trysuffix) void Modify::add_compute(const std::string &computecmd, int trysuffix) { auto args = utils::split_words(computecmd); - char **newarg = new char*[args.size()]; + std::vectornewarg(args.size()); int i=0; for (const auto &arg : args) { newarg[i++] = (char *)arg.c_str(); } - add_compute(args.size(),newarg,trysuffix); - delete[] newarg; + add_compute(args.size(),newarg.data(),trysuffix); }