From 983ed1b58ef9d0f97c9cec2876f631e47609d437 Mon Sep 17 00:00:00 2001 From: David Spickett Date: Wed, 16 Jun 2021 14:39:50 +0100 Subject: [PATCH] [lldb] Set return object failed status even if error string is empty The idea is now that AppendError<...> will set eReturnStatusFailed for you so you don't have to call SetStatus again. Previously if the error message was empty, the status wouldn't be set. I don't think there are any sitautions where the message is in fact empty but it potentially could be depending on where we get the string from. So let's set the status up front then return early if the message is empty. Reviewed By: teemperor Differential Revision: https://reviews.llvm.org/D104380 --- lldb/source/Interpreter/CommandReturnObject.cpp | 5 +++-- 1 file changed, 3 insertions(+), 2 deletions(-) diff --git a/lldb/source/Interpreter/CommandReturnObject.cpp b/lldb/source/Interpreter/CommandReturnObject.cpp index 531c1f2..5edd9a3 100644 --- a/lldb/source/Interpreter/CommandReturnObject.cpp +++ b/lldb/source/Interpreter/CommandReturnObject.cpp @@ -98,9 +98,9 @@ void CommandReturnObject::AppendWarning(llvm::StringRef in_string) { } void CommandReturnObject::AppendError(llvm::StringRef in_string) { + SetStatus(eReturnStatusFailed); if (in_string.empty()) return; - SetStatus(eReturnStatusFailed); error(GetErrorStream()) << in_string.rtrim() << '\n'; } @@ -113,6 +113,7 @@ void CommandReturnObject::SetError(const Status &error, } void CommandReturnObject::SetError(llvm::StringRef error_str) { + SetStatus(eReturnStatusFailed); if (error_str.empty()) return; @@ -123,10 +124,10 @@ void CommandReturnObject::SetError(llvm::StringRef error_str) { // append "\n" to the end of it. void CommandReturnObject::AppendRawError(llvm::StringRef in_string) { + SetStatus(eReturnStatusFailed); if (in_string.empty()) return; GetErrorStream() << in_string; - SetStatus(eReturnStatusFailed); } void CommandReturnObject::SetStatus(ReturnStatus status) { m_status = status; } -- 2.7.4