From 86ffa293c2b1f8d380f4f773e90cb6b571b2cdb2 Mon Sep 17 00:00:00 2001 From: Michael Tremer Date: Sat, 26 Oct 2024 10:48:10 +0000 Subject: [PATCH] linter: Keep stats about how many warnings/errors/etc. Signed-off-by: Michael Tremer --- src/libpakfire/linter.c | 25 +++++++++++++++++++++++++ 1 file changed, 25 insertions(+) diff --git a/src/libpakfire/linter.c b/src/libpakfire/linter.c index 0e9cac5ec..f380fff4e 100644 --- a/src/libpakfire/linter.c +++ b/src/libpakfire/linter.c @@ -71,6 +71,15 @@ struct pakfire_linter { // Results TAILQ_HEAD(results, pakfire_linter_result) results; + // Stats + struct pakfire_linter_stats { + unsigned int results; + + // Count errors and warnings + unsigned int errors; + unsigned int warnings; + } stats; + // Result Callback pakfire_linter_result_callback result_callback; void* result_data; @@ -149,6 +158,22 @@ int pakfire_linter_result(struct pakfire_linter* linter, struct pakfire_file* fi // Store the result TAILQ_INSERT_TAIL(&linter->results, result, nodes); + // Update stats + linter->stats.results++; + + switch (priority) { + case PAKFIRE_LINTER_WARNING: + linter->stats.warnings++; + break; + + case PAKFIRE_LINTER_ERROR: + linter->stats.errors++; + break; + + default: + break; + } + // Call the callback if (linter->result_callback) { r = linter->result_callback(linter->ctx, linter->archive, linter->pkg, -- 2.39.5