diff options
Diffstat (limited to 'lldb/source/Core/IOHandler.cpp')
-rw-r--r-- | lldb/source/Core/IOHandler.cpp | 7 |
1 files changed, 5 insertions, 2 deletions
diff --git a/lldb/source/Core/IOHandler.cpp b/lldb/source/Core/IOHandler.cpp index 77e9202402d..b1ee57268ef 100644 --- a/lldb/source/Core/IOHandler.cpp +++ b/lldb/source/Core/IOHandler.cpp @@ -380,7 +380,8 @@ IOHandlerEditline::IOHandlerEditline (Debugger &debugger, m_curr_line_idx (UINT32_MAX), m_multi_line (multi_line), m_color_prompts (color_prompts), - m_interrupt_exits (true) + m_interrupt_exits (true), + m_editing (false) { SetPrompt(prompt); @@ -474,6 +475,7 @@ IOHandlerEditline::GetLine (std::string &line, bool &interrupted) char buffer[256]; bool done = false; bool got_line = false; + m_editing = true; while (!done) { if (fgets(buffer, sizeof(buffer), in) == NULL) @@ -508,6 +510,7 @@ IOHandlerEditline::GetLine (std::string &line, bool &interrupted) line.append(buffer, buffer_len); } } + m_editing = false; // We might have gotten a newline on a line by itself // make sure to return true in this case. return got_line; @@ -754,7 +757,7 @@ IOHandlerEditline::Refresh () { m_editline_ap->Refresh(); } - else + else if (m_editing) { #endif const char *prompt = GetPrompt(); |