pxh: do not use variable sized array on the stack

This is a compiler-specific extension
This commit is contained in:
Beat Küng 2025-06-16 15:47:05 +02:00
parent d9743cc0ef
commit fd2ded08e4

View File

@ -101,7 +101,7 @@ int Pxh::process_line(const std::string &line, bool silently_fail)
// Note that argv[argc] always needs to be a nullptr.
// Therefore add one more entry.
const char *arg[words.size() + 1];
char **arg = new char *[words.size() + 1];
for (unsigned i = 0; i < words.size(); ++i) {
arg[i] = (char *)words[i].c_str();
@ -110,7 +110,7 @@ int Pxh::process_line(const std::string &line, bool silently_fail)
// Explicitly set this nullptr.
arg[words.size()] = nullptr;
int retval = _apps[command](words.size(), (char **)arg);
int retval = _apps[command](words.size(), arg);
if (retval) {
if (!silently_fail) {
@ -118,6 +118,8 @@ int Pxh::process_line(const std::string &line, bool silently_fail)
}
}
delete[] arg;
return retval;
} else if (command == "help") {