From 4d51a90297d34389b53c00c5cd6fa6f73998c298 Mon Sep 17 00:00:00 2001 From: Raphael Isemann Date: Thu, 12 Jul 2018 22:28:52 +0000 Subject: 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 --- lldb/source/Interpreter/CommandObjectScript.cpp | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) (limited to 'lldb/source/Interpreter/CommandObjectScript.cpp') diff --git a/lldb/source/Interpreter/CommandObjectScript.cpp b/lldb/source/Interpreter/CommandObjectScript.cpp index dfb1ba5037f..fa1516df60c 100644 --- a/lldb/source/Interpreter/CommandObjectScript.cpp +++ b/lldb/source/Interpreter/CommandObjectScript.cpp @@ -40,7 +40,7 @@ CommandObjectScript::CommandObjectScript(CommandInterpreter &interpreter, CommandObjectScript::~CommandObjectScript() {} -bool CommandObjectScript::DoExecute(const char *command, +bool CommandObjectScript::DoExecute(llvm::StringRef command, CommandReturnObject &result) { #ifdef LLDB_DISABLE_PYTHON // if we ever support languages other than Python this simple #ifdef won't @@ -69,7 +69,7 @@ bool CommandObjectScript::DoExecute(const char *command, // for formatting.. make sure we keep up to // date with it - if (command == nullptr || command[0] == '\0') { + if (command.empty()) { script_interpreter->ExecuteInterpreterLoop(); result.SetStatus(eReturnStatusSuccessFinishNoResult); return result.Succeeded(); -- cgit v1.2.3