From 7393083d5d15f2d8500ea1888676ced17e015f30 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Oliver=20St=C3=B6neberg?= Date: Mon, 9 Oct 2023 22:22:39 +0200 Subject: [PATCH] added `CmdLineLogger::printRaw()` / CppCheckExecutor: more `CmdLineLogger` usage (#5537) --- cli/cmdlinelogger.h | 4 ++++ cli/cmdlineparser.cpp | 32 ++++++++++++++++++-------------- cli/cppcheckexecutor.cpp | 29 +++++++++++++++++------------ test/testcmdlineparser.cpp | 21 +++++++++++++-------- 4 files changed, 52 insertions(+), 34 deletions(-) diff --git a/cli/cmdlinelogger.h b/cli/cmdlinelogger.h index 97bb2821e..6f1657853 100644 --- a/cli/cmdlinelogger.h +++ b/cli/cmdlinelogger.h @@ -26,8 +26,12 @@ class CmdLineLogger public: virtual ~CmdLineLogger() = default; + /** print a regular message */ virtual void printMessage(const std::string &message) = 0; + /** print an error message */ virtual void printError(const std::string &message) = 0; + /** print to the output */ + virtual void printRaw(const std::string &message) = 0; }; #endif // CMD_LINE_LOGGER_H diff --git a/cli/cmdlineparser.cpp b/cli/cmdlineparser.cpp index e36e2421c..eb330b82f 100644 --- a/cli/cmdlineparser.cpp +++ b/cli/cmdlineparser.cpp @@ -313,7 +313,7 @@ bool CmdLineParser::parseFromArgs(int argc, const char* const argv[]) << info << "\n"; } - std::cout << doc.str(); + mLogger.printRaw(doc.str()); mExitAfterPrint = true; return true; } @@ -1057,7 +1057,8 @@ void CmdLineParser::printHelp() "https://cppcheck.sourceforge.io/manual.pdf" : "https://files.cppchecksolutions.com/manual.pdf"); - std::cout << "Cppcheck - A tool for static C/C++ code analysis\n" + std::ostringstream oss; + oss << "Cppcheck - A tool for static C/C++ code analysis\n" "\n" "Syntax:\n" " cppcheck [OPTIONS] [files or paths]\n" @@ -1249,20 +1250,21 @@ void CmdLineParser::printHelp() " Generate Clang-plist output files in folder.\n"; if (isCppcheckPremium()) { - std::cout << " --premium=