From 91c9d05a8aa766d359443f478f6b00fbf4359c93 Mon Sep 17 00:00:00 2001 From: Cho Woong Suk Date: Wed, 30 Aug 2017 15:25:45 +0900 Subject: [PATCH] change cmdline to executable path for standalone mode. after adapting this change, crash dump will be generated with executable name not dotnet-launcher Change-Id: I1052f2d8740f6d51dff978871252e2cbe10a1d63 --- NativeLauncher/launcher/main.cc | 14 ++++++++++++-- 1 file changed, 12 insertions(+), 2 deletions(-) diff --git a/NativeLauncher/launcher/main.cc b/NativeLauncher/launcher/main.cc index b5e566c..b532832 100644 --- a/NativeLauncher/launcher/main.cc +++ b/NativeLauncher/launcher/main.cc @@ -44,7 +44,8 @@ int main(int argc, char *argv[]) { int i; bool standalone = false; - const char* standalonePath = nullptr; + char* standalonePath = nullptr; + int cmdlineSize = 0; std::vector vargs; @@ -61,10 +62,11 @@ int main(int argc, char *argv[]) return 1; } i++; - standalonePath = argv[i]; + standalonePath = strdup(argv[i]); } else { vargs.push_back(argv[i]); } + cmdlineSize += (strlen(argv[i]) +1); } using tizen::runtime::LauncherInterface; @@ -97,6 +99,10 @@ int main(int argc, char *argv[]) return 1; } + // change cmdline from dotnet-launcher to executable path + memset(argv[0], '\0', cmdlineSize); + snprintf(argv[0], cmdlineSize, "%s", standalonePath); + int argsLen = vargs.size(); char** args = &vargs[0]; if (runtime->launch(appId, appRoot.c_str(), standalonePath, argsLen, args)) { @@ -126,6 +132,10 @@ int main(int argc, char *argv[]) Launchpad.loaderMain(argc, argv); } + if (standalonePath != nullptr) { + free(standalonePath); + } + runtime->dispose(); return 0; } -- 2.7.4