diff --git a/cli/cmdlineparser.cpp b/cli/cmdlineparser.cpp index df9bd3204..7f5156059 100644 --- a/cli/cmdlineparser.cpp +++ b/cli/cmdlineparser.cpp @@ -1629,10 +1629,10 @@ void CmdLineParser::printHelp() const mLogger.printRaw(oss.str()); } -bool CmdLineParser::isCppcheckPremium() { - Settings settings; - settings.loadCppcheckCfg(); // TODO: how to handle errors? - return startsWith(settings.cppcheckCfgProductName, "Cppcheck Premium"); +bool CmdLineParser::isCppcheckPremium() const { + if (mSettings.cppcheckCfgProductName.empty()) + mSettings.loadCppcheckCfg(); + return startsWith(mSettings.cppcheckCfgProductName, "Cppcheck Premium"); } bool CmdLineParser::tryLoadLibrary(Library& destination, const std::string& basepath, const char* filename) diff --git a/cli/cmdlineparser.h b/cli/cmdlineparser.h index 739d2b21b..0df49349e 100644 --- a/cli/cmdlineparser.h +++ b/cli/cmdlineparser.h @@ -111,7 +111,7 @@ protected: void printHelp() const; private: - static bool isCppcheckPremium(); + bool isCppcheckPremium() const; template bool parseNumberArg(const char* const arg, std::size_t offset, T& num, bool mustBePositive = false)