aboutsummaryrefslogtreecommitdiff
path: root/lldb/source/API/SBCommandInterpreter.cpp
diff options
context:
space:
mode:
authorAlex Langford <alangford@apple.com>2023-05-17 10:44:38 -0700
committerAlex Langford <alangford@apple.com>2023-05-18 15:13:36 -0700
commit41714c959d65ff1dd842bc0a0d44f90b06440c39 (patch)
treeb3a07e61238e2ab7ec0679a870fb6578bb0ba0a3 /lldb/source/API/SBCommandInterpreter.cpp
parent6abd8e30f443b9b17935c40e4451cbc63e3bd49d (diff)
downloadllvm-41714c959d65ff1dd842bc0a0d44f90b06440c39.zip
llvm-41714c959d65ff1dd842bc0a0d44f90b06440c39.tar.gz
llvm-41714c959d65ff1dd842bc0a0d44f90b06440c39.tar.bz2
[lldb] Guarantee the lifetimes of all strings returned from SBAPI
LLDB should guarantee that the strings returned by SBAPI methods live forever. I went through every method that returns a string and made sure that it was added to the ConstString StringPool before returning if it wasn't obvious that it was already doing so. I've also updated the docs to document this behavior. Differential Revision: https://reviews.llvm.org/D150804
Diffstat (limited to 'lldb/source/API/SBCommandInterpreter.cpp')
-rw-r--r--lldb/source/API/SBCommandInterpreter.cpp6
1 files changed, 4 insertions, 2 deletions
diff --git a/lldb/source/API/SBCommandInterpreter.cpp b/lldb/source/API/SBCommandInterpreter.cpp
index d081665..9ea7200 100644
--- a/lldb/source/API/SBCommandInterpreter.cpp
+++ b/lldb/source/API/SBCommandInterpreter.cpp
@@ -516,14 +516,16 @@ const char *SBCommandInterpreter::GetArgumentTypeAsCString(
const lldb::CommandArgumentType arg_type) {
LLDB_INSTRUMENT_VA(arg_type);
- return CommandObject::GetArgumentTypeAsCString(arg_type);
+ return ConstString(CommandObject::GetArgumentTypeAsCString(arg_type))
+ .GetCString();
}
const char *SBCommandInterpreter::GetArgumentDescriptionAsCString(
const lldb::CommandArgumentType arg_type) {
LLDB_INSTRUMENT_VA(arg_type);
- return CommandObject::GetArgumentDescriptionAsCString(arg_type);
+ return ConstString(CommandObject::GetArgumentDescriptionAsCString(arg_type))
+ .GetCString();
}
bool SBCommandInterpreter::EventIsCommandInterpreterEvent(