diff options
author | Raphael Isemann <teemperor@gmail.com> | 2018-07-12 22:28:52 +0000 |
---|---|---|
committer | Raphael Isemann <teemperor@gmail.com> | 2018-07-12 22:28:52 +0000 |
commit | 4d51a90297d34389b53c00c5cd6fa6f73998c298 (patch) | |
tree | fb8d42ce62a2a5e7bff1c397626c774ce51e3fee /lldb/source/Commands/CommandObjectCommands.cpp | |
parent | 3a1347721454c50c0f06cdf99388b8d38a49c408 (diff) | |
download | bcm5719-llvm-4d51a90297d34389b53c00c5cd6fa6f73998c298.tar.gz bcm5719-llvm-4d51a90297d34389b53c00c5cd6fa6f73998c298.zip |
Get rid of the C-string parameter in DoExecute
Summary:
This patch gets rid of the C-string parameter in the RawCommandObject::DoExecute function,
making the code simpler and less memory unsafe.
There seems to be a assumption in some command objects that this parameter could be a nullptr,
but from what I can see the rest of the API doesn't actually allow this (and other command
objects and related code pieces dereference this parameter without any checks).
Especially CommandObjectRegexCommand has error handling code for a nullptr that is now gone.
Reviewers: davide, jingham, teemperor
Reviewed By: teemperor
Subscribers: jingham, lldb-commits
Differential Revision: https://reviews.llvm.org/D49207
llvm-svn: 336955
Diffstat (limited to 'lldb/source/Commands/CommandObjectCommands.cpp')
-rw-r--r-- | lldb/source/Commands/CommandObjectCommands.cpp | 8 |
1 files changed, 4 insertions, 4 deletions
diff --git a/lldb/source/Commands/CommandObjectCommands.cpp b/lldb/source/Commands/CommandObjectCommands.cpp index 5e7f272ec22..b7f439e5219 100644 --- a/lldb/source/Commands/CommandObjectCommands.cpp +++ b/lldb/source/Commands/CommandObjectCommands.cpp @@ -543,9 +543,9 @@ rather than using a positional placeholder:" ~CommandObjectCommandsAlias() override = default; protected: - bool DoExecute(const char *raw_command_line, + bool DoExecute(llvm::StringRef raw_command_line, CommandReturnObject &result) override { - if (!raw_command_line || !raw_command_line[0]) { + if (raw_command_line.empty()) { result.AppendError("'command alias' requires at least two arguments"); return false; } @@ -1275,7 +1275,7 @@ public: } protected: - bool DoExecute(const char *raw_command_line, + bool DoExecute(llvm::StringRef raw_command_line, CommandReturnObject &result) override { ScriptInterpreter *scripter = m_interpreter.GetScriptInterpreter(); @@ -1364,7 +1364,7 @@ public: } protected: - bool DoExecute(const char *raw_command_line, + bool DoExecute(llvm::StringRef raw_command_line, CommandReturnObject &result) override { ScriptInterpreter *scripter = m_interpreter.GetScriptInterpreter(); |