diff --git a/lldb/source/Utility/Log.cpp b/lldb/source/Utility/Log.cpp --- a/lldb/source/Utility/Log.cpp +++ b/lldb/source/Utility/Log.cpp @@ -131,8 +131,15 @@ return m_mask.load(std::memory_order_relaxed); } -void Log::PutCString(const char *cstr) { Printf("%s", cstr); } -void Log::PutString(llvm::StringRef str) { PutCString(str.str().c_str()); } +void Log::PutCString(const char *cstr) { PutString(cstr); } + +void Log::PutString(llvm::StringRef str) { + std::string FinalMessage; + llvm::raw_string_ostream Stream(FinalMessage); + WriteHeader(Stream, "", ""); + Stream << str << "\n"; + WriteMessage(FinalMessage); +} // Simple variable argument logging with flags. void Log::Printf(const char *format, ...) { @@ -146,16 +153,9 @@ // callback registered, then we call the logging callback. If we have a valid // file handle, we also log to the file. void Log::VAPrintf(const char *format, va_list args) { - std::string FinalMessage; - llvm::raw_string_ostream Stream(FinalMessage); - WriteHeader(Stream, "", ""); - llvm::SmallString<64> Content; lldb_private::VASprintf(Content, format, args); - - Stream << Content << "\n"; - - WriteMessage(FinalMessage); + PutString(Content); } // Printing of errors that are not fatal.