aboutsummaryrefslogtreecommitdiff
path: root/lldb/source/Commands/CommandObjectCommands.cpp
diff options
context:
space:
mode:
Diffstat (limited to 'lldb/source/Commands/CommandObjectCommands.cpp')
-rw-r--r--lldb/source/Commands/CommandObjectCommands.cpp21
1 files changed, 12 insertions, 9 deletions
diff --git a/lldb/source/Commands/CommandObjectCommands.cpp b/lldb/source/Commands/CommandObjectCommands.cpp
index fc76158..913577b 100644
--- a/lldb/source/Commands/CommandObjectCommands.cpp
+++ b/lldb/source/Commands/CommandObjectCommands.cpp
@@ -207,7 +207,7 @@ public:
CommandReturnObject &result
)
{
- const size_t argc = args.GetArgumentCount();
+ size_t argc = args.GetArgumentCount();
if (argc < 2)
{
@@ -296,15 +296,18 @@ public:
args.Shift ();
if (result.Succeeded())
options->VerifyPartialOptions (result);
- if (!result.Succeeded())
- return false;
- }
- else
- {
- for (size_t i = 0; i < argc; ++i)
- option_arg_vector->push_back (OptionArgPair ("<argument>",
- std::string (args.GetArgumentAtIndex (i))));
+ if (!result.Succeeded() && result.GetStatus() != lldb::eReturnStatusStarted)
+ {
+ result.AppendError ("Unable to create requested command alias.\n");
+ }
}
+
+ // Anything remaining in args must be a plain argument.
+
+ argc = args.GetArgumentCount();
+ for (size_t i = 0; i < argc; ++i)
+ option_arg_vector->push_back (OptionArgPair ("<argument>",
+ std::string (args.GetArgumentAtIndex (i))));
}
// Create the alias.