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, ...) { @@ -142,20 +149,10 @@ va_end(args); } -// All logging eventually boils down to this function call. If we have a -// 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. @@ -344,6 +341,8 @@ } } +// If we have a callback registered, then we call the logging callback. If we +// have a valid file handle, we also log to the file. void Log::WriteMessage(llvm::StringRef message) { // Make a copy of our stream shared pointer in case someone disables our log // while we are logging and releases the stream