GeezerVisonThe World Wide Web, restored to 800 pixels of glory. |
| Home|About|Gaming cabinet|Archives|How it works|Starter sites |
GeezerVison is showing github.com — cppcheck/cli/executor.cpp at main · cppcheck-opensource/cppcheck Expand file tree/ Copy pathexecutor.cppMore file actions 75 lines (64 loc) · 2.6 KB / Copy pathexecutor.cppFile metadata and controls75 lines (64 loc) · 2.6 KB 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 /* * Cppcheck - A tool for static C/C++ code analysis * Copyright (C) 2007-2026 Cppcheck team. * * This program is free software: you can redistribute it and/or modify * it under the terms of the GNU General Public License as published by * the Free Software Foundation, either version 3 of the License, or * (at your option) any later version. * * This program is distributed in the hope that it will be useful, * but WITHOUT ANY WARRANTY; without even the implied warranty of * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the * GNU General Public License for more details. * * You should have received a copy of the GNU General Public License * along with this program. If not, see <http://www.gnu.org/licenses/>. */ #include "executor.h" #include "color.h" #include "errorlogger.h" #include "errortypes.h" #include "settings.h" #include "suppressions.h" #include <cassert> #include <sstream> #include <utility> struct FileSettings; Executor::Executor(const std::list<FileWithDetails> &files, const std::list<FileSettings>& fileSettings, const Settings &settings, Suppressions &suppressions, ErrorLogger &errorLogger, TimerResults* timerResults) : mFiles(files), mFileSettings(fileSettings), mSettings(settings), mSuppressions(suppressions), mErrorLogger(errorLogger), mTimerResults(timerResults) { // the two inputs may only be used exclusively assert(!(!files.empty() && !fileSettings.empty())); } // TODO: this logic is duplicated in CppCheck::reportErr() bool Executor::hasToLog(const ErrorMessage &msg) { if (msg.severity == Severity::internal) return true; if (!mSuppressions.nomsg.isSuppressed(msg, {})) { // TODO: there should be no need for verbose and default messages here std::string errmsg = msg.toString(mSettings.verbose, mSettings.templateFormat, mSettings.templateLocation); if (errmsg.empty()) return false; if (mSettings.emitDuplicates) return true; std::lock_guard<std::mutex> lg(mErrorListSync); if (mErrorList.emplace(std::move(errmsg)).second) { return true; } } return false; } void Executor::reportStatus(std::size_t fileindex, std::size_t filecount, std::size_t sizedone, std::size_t sizetotal) { if (filecount > 1) { std::ostringstream oss; const unsigned long percentDone = (sizetotal > 0) ? (100 * sizedone) / sizetotal : (100 * fileindex / filecount); oss << fileindex << '/' << filecount << " files checked " << percentDone << "% done"; mErrorLogger.reportOut(oss.str(), Color::FgBlue); } } |
| You are visitor 01402503 — GeezerVison does not store the pages you look up. Best viewed with Netscape Navigator 4.7 or Internet Explorer 6 at 800×600. No cookies required. |