Author: jingham
Date: Wed Aug 27 17:06:58 2014
New Revision: 216626
URL: http://llvm.org/viewvc/llvm-project?rev=216626&view=rev
Log:
A quoted - is not the beginning of an option, and should not be completed as
such. This was causing:
(lldb) disassemble -n '-<TAB>
to crash.
<rdar://problem/18134531>
Modified:
lldb/trunk/source/Interpreter/Args.cpp
Modified: lldb/trunk/source/Interpreter/Args.cpp
URL:
http://llvm.org/viewvc/llvm-project/lldb/trunk/source/Interpreter/Args.cpp?rev=216626&r1=216625&r2=216626&view=diff
==============================================================================
--- lldb/trunk/source/Interpreter/Args.cpp (original)
+++ lldb/trunk/source/Interpreter/Args.cpp Wed Aug 27 17:06:58 2014
@@ -1644,8 +1644,10 @@ Args::ParseArgsForCompletion
// Finally we have to handle the case where the cursor index points at a
single "-". We want to mark that in
// the option_element_vector, but only if it is not after the "--". But
it turns out that OptionParser::Parse just ignores
// an isolated "-". So we have to look it up by hand here. We only care
if it is AT the cursor position.
+ // Note, a single quoted dash is not the same as a single dash...
if ((static_cast<int32_t>(dash_dash_pos) == -1 || cursor_index <
dash_dash_pos)
+ && m_args_quote_char[cursor_index] == '\0'
&& strcmp (GetArgumentAtIndex(cursor_index), "-") == 0)
{
option_element_vector.push_back (OptionArgElement
(OptionArgElement::eBareDash, cursor_index,
_______________________________________________
lldb-commits mailing list
[email protected]
http://lists.cs.uiuc.edu/mailman/listinfo/lldb-commits