diff options
author | Hwankyu Jhun <h.jhun@samsung.com> | 2024-04-01 13:09:48 +0900 |
---|---|---|
committer | Hwankyu Jhun <h.jhun@samsung.com> | 2024-04-01 15:21:20 +0900 |
commit | eaea2282d7105d82268c9327cf01fb55e545756d (patch) | |
tree | 436960cb0c60e9c07d3eb0e6f2afbc542910f0ba | |
parent | 222d3605efd904bdbbd9f08bc75272697fcdbf28 (diff) | |
download | launchpad-eaea2282d7105d82268c9327cf01fb55e545756d.tar.gz launchpad-eaea2282d7105d82268c9327cf01fb55e545756d.tar.bz2 launchpad-eaea2282d7105d82268c9327cf01fb55e545756d.zip |
Fix passing wrong arguments
When the application is executed using gdbserver, the export tag of the bundle
is deleted unintentionally. To pass arguments properly, the launchpad encloses
the string with a ''.
Change-Id: Ide6a9624b7cf3d9fdb3ab3441a49a47368aae3bd
Signed-off-by: Hwankyu Jhun <h.jhun@samsung.com>
-rw-r--r-- | src/launchpad-process-pool/app_executor.cc | 5 |
1 files changed, 5 insertions, 0 deletions
diff --git a/src/launchpad-process-pool/app_executor.cc b/src/launchpad-process-pool/app_executor.cc index 819b50a..060d5ec 100644 --- a/src/launchpad-process-pool/app_executor.cc +++ b/src/launchpad-process-pool/app_executor.cc @@ -314,12 +314,17 @@ std::vector<std::string> AppExecutor::CreateAppArgv(const std::string& app_path, if (inst.ShouldAttach()) return argv; + bool debug_mode = !argv.empty() ? true : false; auto launcher_argv = GetLauncherArgv(app_type); if (!launcher_argv.empty()) argv.insert(argv.end(), launcher_argv.begin(), launcher_argv.end()); auto exported_argv = b.Export(); exported_argv[LoaderArg::Path] = app_path; + if (debug_mode && + exported_argv.size() > static_cast<size_t>(LoaderArg::Type)) + exported_argv[LoaderArg::Type] = "'" + exported_argv[LoaderArg::Type] + "'"; + if (!exported_argv.empty()) argv.insert(argv.end(), exported_argv.begin(), exported_argv.end()); |