From acafbac5182cd3fe1f3e7d99dbb39d80f06d47ef Mon Sep 17 00:00:00 2001 From: Mark Pizzolato Date: Tue, 9 Jan 2024 05:41:06 -1000 Subject: [PATCH] FIO: Add Files/Lines/Size totals in CheckSourceCode output --- sim_fio.c | 15 +++++++++++++-- 1 file changed, 13 insertions(+), 2 deletions(-) diff --git a/sim_fio.c b/sim_fio.c index a57d108f..df67131d 100644 --- a/sim_fio.c +++ b/sim_fio.c @@ -2844,6 +2844,8 @@ typedef struct CHECK_STATS { int TextFiles; int ProblemFiles; int FileCount; + int SourceTotalLineCount; + int SourceTotalSize; FILE_STATS **Files; } CHECK_STATS; @@ -2916,7 +2918,7 @@ for (i = 0; i < count; i++) free (list); } -static void _sim_check_source_file_report (FILE_STATS *File, int maxnamelen, t_stat stat) +static void _sim_check_source_file_report (FILE_STATS *File, int maxnamelen, t_stat stat, int *SourceLineCount, int *SourceByteCount) { if ((sim_switches & SWMASK ('D')) || (File->ProblemFile) || ((stat != SCPE_OK) && @@ -2926,6 +2928,10 @@ if ((sim_switches & SWMASK ('D')) || (File->ProblemFile) || if (File->Lines) sim_printf (" %5d lines", File->Lines); if (File->IsSource) { + if (SourceLineCount != NULL) + *SourceLineCount += File->Lines; + if (SourceByteCount != NULL) + *SourceByteCount += (int)File->FileSize; if (File->HasTabs) sim_printf (", has-tabs"); if (File->HasBinary) @@ -3063,7 +3069,12 @@ if ((sim_check_scp_dir != NULL) && sim_check_scp_dir = NULL; } for (file = 0; file < Stats->FileCount; file++) - _sim_check_source_file_report (Stats->Files[file], namelen, stat); + _sim_check_source_file_report (Stats->Files[file], namelen, stat, &Stats->SourceTotalLineCount, &Stats->SourceTotalSize); +if (sim_switches & SWMASK ('D')) { + sim_printf ("Source Code Total Files: %d, ", Stats->FileCount); + sim_printf ("Total Lines: %s, ", sim_fmt_numeric ((double)Stats->SourceTotalLineCount)); + sim_printf ("Total Size: %s bytes\n", sim_fmt_numeric ((double)Stats->SourceTotalSize)); + } if (Stats->ProblemFiles > 0) stat = SCPE_FMT; free (Stats->Files);