From a74bf8ec2b15c21a9a89f256e610bbec1af1be84 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Ludvig=20Gunne=20Lindstr=C3=B6m?= Date: Wed, 11 Dec 2024 14:14:26 +0100 Subject: [PATCH] set guidline/classification for cert c/c++ --- lib/cppcheck.cpp | 14 ++++++++++++++ 1 file changed, 14 insertions(+) diff --git a/lib/cppcheck.cpp b/lib/cppcheck.cpp index 5a05e6ff2272..8e8167242b49 100644 --- a/lib/cppcheck.cpp +++ b/lib/cppcheck.cpp @@ -1458,6 +1458,12 @@ void CppCheck::setClassification(ErrorMessage &errMsg) const { case Settings::ReportType::Autosar: errMsg.classification = getClassification(checkers::autosarInfo, guideline); return; + case Settings::ReportType::CertC: + errMsg.classification = getClassification(checkers::certCInfo, guideline); + return; + case Settings::ReportType::CertCpp: + errMsg.classification = getClassification(checkers::certCppInfo, guideline); + return; case Settings::ReportType::MisraC: { std::array split; @@ -1520,6 +1526,14 @@ void CppCheck::setGuideline(ErrorMessage &errMsg) const { errMsg.guideline = errId.substr(23); } return; + case Settings::ReportType::CertC: + case Settings::ReportType::CertCpp: + if (errId.rfind("premium-cert-", 0) == 0) { + errMsg.guideline = errId.substr(13); + std::transform(errMsg.guideline.begin(), errMsg.guideline.end(), + errMsg.guideline.begin(), static_cast(std::toupper)); + } + return; case Settings::ReportType::MisraC: if (errId.rfind("misra-c20", 0) == 0) { errMsg.guideline = errId.substr(errId.rfind("-") + 1);