[Lldb-commits] [PATCH] D124568: [lldb] Fix escaping when launching in terminal with AppleScript
Jonas Devlieghere via Phabricator via lldb-commits
lldb-commits at lists.llvm.org
Wed Apr 27 16:45:44 PDT 2022
This revision was automatically updated to reflect the committed changes.
Closed by commit rG5205c1774950: [lldb] Fix escaping when launching in terminal with AppleScript (authored by JDevlieghere).
Herald added a project: LLDB.
Repository:
rG LLVM Github Monorepo
CHANGES SINCE LAST ACTION
https://reviews.llvm.org/D124568/new/
https://reviews.llvm.org/D124568
Files:
lldb/source/Host/macosx/objcxx/Host.mm
Index: lldb/source/Host/macosx/objcxx/Host.mm
===================================================================
--- lldb/source/Host/macosx/objcxx/Host.mm
+++ lldb/source/Host/macosx/objcxx/Host.mm
@@ -212,18 +212,18 @@
arch_spec.GetCore() != ArchSpec::eCore_x86_64_x86_64h)
command.Printf("arch -arch %s ", arch_spec.GetArchitectureName());
- command.Printf("'%s' --unix-socket=%s", launcher_path, unix_socket_name);
+ command.Printf(R"(\"%s\" --unix-socket=%s)", launcher_path, unix_socket_name);
if (arch_spec.IsValid())
command.Printf(" --arch=%s", arch_spec.GetArchitectureName());
FileSpec working_dir{launch_info.GetWorkingDirectory()};
if (working_dir)
- command.Printf(" --working-dir '%s'", working_dir.GetCString());
+ command.Printf(R"( --working-dir \"%s\")", working_dir.GetCString());
else {
char cwd[PATH_MAX];
if (getcwd(cwd, PATH_MAX))
- command.Printf(" --working-dir '%s'", cwd);
+ command.Printf(R"( --working-dir \"%s\")", cwd);
}
if (launch_info.GetFlags().Test(eLaunchFlagDisableASLR))
@@ -239,7 +239,7 @@
for (const auto &KV : launch_info.GetEnvironment()) {
auto host_entry = host_env.find(KV.first());
if (host_entry == host_env.end() || host_entry->second != KV.second)
- command.Format(" --env='{0}'", Environment::compose(KV));
+ command.Format(R"( --env=\"{0}\")", Environment::compose(KV));
}
command.PutCString(" -- ");
@@ -248,12 +248,12 @@
if (argv) {
for (size_t i = 0; argv[i] != NULL; ++i) {
if (i == 0)
- command.Printf(" '%s'", exe_path);
+ command.Printf(R"( \"%s\")", exe_path);
else
- command.Printf(" '%s'", argv[i]);
+ command.Printf(R"( \"%s\")", argv[i]);
}
} else {
- command.Printf(" '%s'", exe_path);
+ command.Printf(R"( \"%s\")", exe_path);
}
command.PutCString(" ; echo Process exited with status $?");
if (launch_info.GetFlags().Test(lldb::eLaunchFlagCloseTTYOnExit))
@@ -263,6 +263,7 @@
applescript_source.Printf(applscript_in_new_tty,
command.GetString().str().c_str());
+
NSAppleScript *applescript = [[NSAppleScript alloc]
initWithSource:[NSString stringWithCString:applescript_source.GetString()
.str()
-------------- next part --------------
A non-text attachment was scrubbed...
Name: D124568.425649.patch
Type: text/x-patch
Size: 2337 bytes
Desc: not available
URL: <http://lists.llvm.org/pipermail/lldb-commits/attachments/20220427/4f96e6c2/attachment.bin>
More information about the lldb-commits
mailing list