summaryrefslogtreecommitdiffstats
path: root/lldb/source/Plugins/ScriptInterpreter/Python/ScriptInterpreterPython.cpp
diff options
context:
space:
mode:
authorRaphael Isemann <teemperor@gmail.com>2018-07-13 18:13:46 +0000
committerRaphael Isemann <teemperor@gmail.com>2018-07-13 18:13:46 +0000
commitd6c062bce1e499f52500cc759a7c0846dd178cda (patch)
treec8ee9f0016b0a47d30ba960de500d6ddaf1c06b9 /lldb/source/Plugins/ScriptInterpreter/Python/ScriptInterpreterPython.cpp
parent8e04d937b0656242162cebe96c8c306e0ab62959 (diff)
downloadbcm5719-llvm-d6c062bce1e499f52500cc759a7c0846dd178cda.tar.gz
bcm5719-llvm-d6c062bce1e499f52500cc759a7c0846dd178cda.zip
No longer pass a StringRef to the Python API
Summary: The refactoring patch for DoExecute missed this case of a variadic function that just silently accepts a StringRef which it then tries to reinterpret as a C-string. This should fix the Windows builds. Reviewers: stella.stamenova Reviewed By: stella.stamenova Subscribers: lldb-commits Differential Revision: https://reviews.llvm.org/D49309 llvm-svn: 337030
Diffstat (limited to 'lldb/source/Plugins/ScriptInterpreter/Python/ScriptInterpreterPython.cpp')
-rw-r--r--lldb/source/Plugins/ScriptInterpreter/Python/ScriptInterpreterPython.cpp5
1 files changed, 3 insertions, 2 deletions
diff --git a/lldb/source/Plugins/ScriptInterpreter/Python/ScriptInterpreterPython.cpp b/lldb/source/Plugins/ScriptInterpreter/Python/ScriptInterpreterPython.cpp
index e115057db8c..12cadff9351 100644
--- a/lldb/source/Plugins/ScriptInterpreter/Python/ScriptInterpreterPython.cpp
+++ b/lldb/source/Plugins/ScriptInterpreter/Python/ScriptInterpreterPython.cpp
@@ -753,6 +753,8 @@ static void ReadThreadBytesReceived(void *baton, const void *src,
bool ScriptInterpreterPython::ExecuteOneLine(
llvm::StringRef command, CommandReturnObject *result,
const ExecuteScriptOptions &options) {
+ std::string command_str = command.str();
+
if (!m_valid_session)
return false;
@@ -855,7 +857,7 @@ bool ScriptInterpreterPython::ExecuteOneLine(
if (PyCallable_Check(m_run_one_line_function.get())) {
PythonObject pargs(
PyRefType::Owned,
- Py_BuildValue("(Os)", session_dict.get(), command));
+ Py_BuildValue("(Os)", session_dict.get(), command_str.c_str()));
if (pargs.IsValid()) {
PythonObject return_value(
PyRefType::Owned,
@@ -895,7 +897,6 @@ bool ScriptInterpreterPython::ExecuteOneLine(
// The one-liner failed. Append the error message.
if (result) {
- std::string command_str = command.str();
result->AppendErrorWithFormat(
"python failed attempting to evaluate '%s'\n", command_str.c_str());
}
OpenPOWER on IntegriCloud