From 17a2780b28d3fbedddce37c9abcec153d6a90975 Mon Sep 17 00:00:00 2001 From: Relintai Date: Thu, 28 Apr 2022 22:59:05 +0200 Subject: [PATCH] Fix adding items to the argument map. --- core/os/arg_parser.cpp | 11 ++++++++++- 1 file changed, 10 insertions(+), 1 deletion(-) diff --git a/core/os/arg_parser.cpp b/core/os/arg_parser.cpp index f270434..9dda594 100644 --- a/core/os/arg_parser.cpp +++ b/core/os/arg_parser.cpp @@ -49,7 +49,7 @@ void ArgParser::post_process_args() { if (main_arg) { main_arg = false; arguments_set.insert(arg_main_command); - arguments_map[arg_main_command] = &arg_command; + arguments_map[arg_main_command] = new String(arg_command); } else { arguments_set.insert(arg_command); } @@ -75,4 +75,13 @@ String *ArgParser::get_value(const String &arg) { ArgParser::ArgParser() { } ArgParser::~ArgParser() { + for (std::map::iterator it = arguments_map.begin(); it != arguments_map.end(); it++) { + String *s = it->second; + + if (s) { + delete s; + } + } + + arguments_map.clear(); }