From c156427ded1dfa7686c90cc56ad16013a079a742 Mon Sep 17 00:00:00 2001 From: Zachary Turner Date: Wed, 16 Nov 2016 21:15:24 +0000 Subject: Don't allow direct access to StreamString's internal buffer. This is a large API change that removes the two functions from StreamString that return a std::string& and a const std::string&, and instead provide one function which returns a StringRef. Direct access to the underlying buffer violates the concept of a "stream" which is intended to provide forward only access, and makes porting to llvm::raw_ostream more difficult in the future. Differential Revision: https://reviews.llvm.org/D26698 llvm-svn: 287152 --- lldb/source/Core/Error.cpp | 13 ++++++------- 1 file changed, 6 insertions(+), 7 deletions(-) (limited to 'lldb/source/Core/Error.cpp') diff --git a/lldb/source/Core/Error.cpp b/lldb/source/Core/Error.cpp index d91f16d6b7e..23696127d3b 100644 --- a/lldb/source/Core/Error.cpp +++ b/lldb/source/Core/Error.cpp @@ -264,15 +264,14 @@ void Error::SetErrorToGenericError() { // The error string value will remain until the error value is // cleared or a new error value/type is assigned. //---------------------------------------------------------------------- -void Error::SetErrorString(const char *err_str) { - if (err_str != nullptr && err_str[0]) { - // If we have an error string, we should always at least have - // an error set to a generic value. +void Error::SetErrorString(llvm::StringRef err_str) { + if (!err_str.empty()) { + // If we have an error string, we should always at least have an error + // set to a generic value. if (Success()) SetErrorToGenericError(); - m_string = err_str; - } else - m_string.clear(); + } + m_string = err_str; } //------------------------------------------------------------------ -- cgit v1.2.3