diff options
Diffstat (limited to 'lldb/source/Interpreter')
| -rw-r--r-- | lldb/source/Interpreter/CommandInterpreter.cpp | 6 | ||||
| -rw-r--r-- | lldb/source/Interpreter/CommandReturnObject.cpp | 37 |
2 files changed, 18 insertions, 25 deletions
diff --git a/lldb/source/Interpreter/CommandInterpreter.cpp b/lldb/source/Interpreter/CommandInterpreter.cpp index b6cd3c73818..a6906709340 100644 --- a/lldb/source/Interpreter/CommandInterpreter.cpp +++ b/lldb/source/Interpreter/CommandInterpreter.cpp @@ -1518,6 +1518,8 @@ CommandInterpreter::HandleCommands (StringList &commands, { size_t num_lines = commands.GetSize(); CommandReturnObject tmp_result; + tmp_result.SetImmediateOutputStream (result.GetImmediateOutputStream ()); + tmp_result.SetImmediateErrorStream (result.GetImmediateErrorStream ()); // If we are going to continue past a "continue" then we need to run the commands synchronously. // Make sure you reset this value anywhere you return from the function. @@ -1554,7 +1556,7 @@ CommandInterpreter::HandleCommands (StringList &commands, if (print_results) { if (tmp_result.Succeeded()) - result.AppendMessageWithFormat("%s", tmp_result.GetOutputStream().GetData()); + result.AppendMessageWithFormat("%s", tmp_result.GetOutputData()); } if (!success || !tmp_result.Succeeded()) @@ -1572,7 +1574,7 @@ CommandInterpreter::HandleCommands (StringList &commands, result.AppendMessageWithFormat ("Command #%d '%s' failed with error: %s.\n", idx + 1, cmd, - tmp_result.GetErrorStream().GetData()); + tmp_result.GetErrorData()); } } diff --git a/lldb/source/Interpreter/CommandReturnObject.cpp b/lldb/source/Interpreter/CommandReturnObject.cpp index f634e3c7df5..3faf912bd7d 100644 --- a/lldb/source/Interpreter/CommandReturnObject.cpp +++ b/lldb/source/Interpreter/CommandReturnObject.cpp @@ -19,6 +19,8 @@ using namespace lldb; using namespace lldb_private; CommandReturnObject::CommandReturnObject () : + m_error_stream_string_sp (), + m_output_stream_string_sp (), m_output_stream (), m_error_stream (), m_status (eReturnStatusStarted), @@ -30,18 +32,6 @@ CommandReturnObject::~CommandReturnObject () { } -StreamString & -CommandReturnObject::GetOutputStream () -{ - return m_output_stream; -} - -StreamString & -CommandReturnObject::GetErrorStream () -{ - return m_error_stream; -} - void CommandReturnObject::AppendErrorWithFormat (const char *format, ...) { @@ -51,10 +41,9 @@ CommandReturnObject::AppendErrorWithFormat (const char *format, ...) sstrm.PrintfVarArg(format, args); va_end (args); - m_error_stream.Printf("error: %s", sstrm.GetData()); + GetErrorStream().Printf("error: %s", sstrm.GetData()); } - void CommandReturnObject::AppendMessageWithFormat (const char *format, ...) { @@ -64,7 +53,7 @@ CommandReturnObject::AppendMessageWithFormat (const char *format, ...) sstrm.PrintfVarArg(format, args); va_end (args); - m_output_stream.Printf("%s", sstrm.GetData()); + GetOutputStream().Printf("%s", sstrm.GetData()); } void @@ -76,7 +65,7 @@ CommandReturnObject::AppendWarningWithFormat (const char *format, ...) sstrm.PrintfVarArg(format, args); va_end (args); - m_error_stream.Printf("warning: %s", sstrm.GetData()); + GetErrorStream().Printf("warning: %s", sstrm.GetData()); } void @@ -84,7 +73,7 @@ CommandReturnObject::AppendMessage (const char *in_string, int len) { if (len < 0) len = ::strlen (in_string); - m_output_stream.Printf("%*.*s\n", len, len, in_string); + GetOutputStream().Printf("%*.*s\n", len, len, in_string); } void @@ -92,7 +81,7 @@ CommandReturnObject::AppendWarning (const char *in_string, int len) { if (len < 0) len = ::strlen (in_string); - m_error_stream.Printf("warning: %*.*s\n", len, len, in_string); + GetErrorStream().Printf("warning: %*.*s\n", len, len, in_string); } // Similar to AppendWarning, but do not prepend 'warning: ' to message, and @@ -103,7 +92,7 @@ CommandReturnObject::AppendRawWarning (const char *in_string, int len) { if (len < 0) len = ::strlen (in_string); - m_error_stream.Printf("%*.*s", len, len, in_string); + GetErrorStream().Printf("%*.*s", len, len, in_string); } void @@ -114,7 +103,7 @@ CommandReturnObject::AppendError (const char *in_string, int len) if (len < 0) len = ::strlen (in_string); - m_error_stream.Printf ("error: %*.*s\n", len, len, in_string); + GetErrorStream().Printf ("error: %*.*s\n", len, len, in_string); } // Similar to AppendError, but do not prepend 'Error: ' to message, and @@ -125,7 +114,7 @@ CommandReturnObject::AppendRawError (const char *in_string, int len) { if (len < 0) len = ::strlen (in_string); - m_error_stream.Printf ("%*.*s", len, len, in_string); + GetErrorStream().Printf ("%*.*s", len, len, in_string); } void @@ -156,8 +145,10 @@ CommandReturnObject::HasResult () void CommandReturnObject::Clear() { - m_output_stream.Clear(); - m_error_stream.Clear(); + if (m_output_stream_string_sp) + static_cast<StreamString *>(m_output_stream_string_sp.get())->Clear(); + if (m_error_stream_string_sp) + static_cast<StreamString *>(m_error_stream_string_sp.get())->Clear(); m_status = eReturnStatusStarted; } |

