From: Cho Woong Suk Date: Wed, 30 Aug 2017 06:25:45 +0000 (+0900) Subject: change cmdline to executable path for standalone mode. X-Git-Tag: submit/tizen/20170830.065300^0 X-Git-Url: http://review.tizen.org/git/?a=commitdiff_plain;h=91c9d05a8aa766d359443f478f6b00fbf4359c93;p=platform%2Fcore%2Fdotnet%2Flauncher.git 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 --- 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; }