aboutsummaryrefslogtreecommitdiff
path: root/src/gettext.cpp
diff options
context:
space:
mode:
authorsfan5 <sfan5@live.de>2023-01-23 00:19:30 +0100
committerGitHub <noreply@github.com>2023-01-23 00:19:30 +0100
commit87d509e4625df2d76a80f14cab3d420bd58ba20a (patch)
tree8a17b87abf96312a79f49c05c7c4824766bcb39f /src/gettext.cpp
parent6f5703baf1737ca1d7dd70982e878fd83d288cdd (diff)
downloadminetest-87d509e4625df2d76a80f14cab3d420bd58ba20a.tar.xz
Implement --debugger option to improve UX when debugging crashes (#13157)
Diffstat (limited to 'src/gettext.cpp')
-rw-r--r--src/gettext.cpp19
1 files changed, 8 insertions, 11 deletions
diff --git a/src/gettext.cpp b/src/gettext.cpp
index de042cf35..f56738d98 100644
--- a/src/gettext.cpp
+++ b/src/gettext.cpp
@@ -149,28 +149,25 @@ void init_gettext(const char *path, const std::string &configured_language,
"Restarting " PROJECT_NAME_C " in a new environment!" << std::endl;
std::string parameters;
-
- for (unsigned int i = 1; i < argc; i++) {
- if (!parameters.empty())
+ for (int i = 1; i < argc; i++) {
+ if (i > 1)
parameters += ' ';
-
- parameters += argv[i];
+ parameters += porting::QuoteArgv(argv[i]);
}
- const char *ptr_parameters = NULL;
-
+ char *ptr_parameters = nullptr;
if (!parameters.empty())
- ptr_parameters = parameters.c_str();
+ ptr_parameters = &parameters[0];
// Allow calling without an extension
std::string app_name = argv[0];
if (app_name.compare(app_name.size() - 4, 4, ".exe") != 0)
app_name += ".exe";
- STARTUPINFO startup_info = {0};
- PROCESS_INFORMATION process_info = {0};
+ STARTUPINFO startup_info = {};
+ PROCESS_INFORMATION process_info = {};
- bool success = CreateProcess(app_name.c_str(), (char *)ptr_parameters,
+ bool success = CreateProcess(app_name.c_str(), ptr_parameters,
NULL, NULL, false, DETACHED_PROCESS | CREATE_UNICODE_ENVIRONMENT,
NULL, NULL, &startup_info, &process_info);