Use modern C++ code pattern to build c-style argument list

This was suggested by GitHub Copilot

Co-authored-by: Copilot <175728472+Copilot@users.noreply.github.com>
This commit is contained in:
Axel Kohlmeyer
2025-04-23 05:51:53 -04:00
committed by GitHub
parent 6629ecff2d
commit 1352257cf4

View File

@ -6198,15 +6198,12 @@ int lammps_request_single_neighlist(void *handle, const char *id, int flags, dou
BEGIN_CAPTURE
{
NeighProxy proxy(lmp);
char *args[3];
args[0] = utils::strdup(id);
args[1] = utils::strdup(std::to_string(flags));
args[2] = utils::strdup(std::to_string(cutoff));
proxy.command(3, args);
std::vector<std::string> args = {id, std::to_string(flags), std::to_string(cutoff)};
std::vector<const char*> c_args;
std::transform(args.begin(), args.end(), std::back_inserter(c_args),
[](const std::string& s) { return s.c_str(); });
proxy.command(static_cast<int>(c_args.size()), c_args.data());
idx = proxy.get_index();
delete[] args[0];
delete[] args[1];
delete[] args[2];
}
END_CAPTURE
return idx;