From 90478cbf4084bbd0edc95791b63e8020810eecf0 Mon Sep 17 00:00:00 2001 From: hgn Date: Wed, 5 Mar 2025 17:14:29 +0000 Subject: [PATCH] small spam reduction.. --- vg_log.c | 24 ++++++++++++++++++++++-- 1 file changed, 22 insertions(+), 2 deletions(-) diff --git a/vg_log.c b/vg_log.c index 1a042af..242fbb1 100644 --- a/vg_log.c +++ b/vg_log.c @@ -49,10 +49,30 @@ void _vg_logx_va( FILE *file, const char *location, const char *prefix, #endif char buffer[4096], line[96]; + static char last_buffer[4096]; + static int dupe_counter = 1; + vsnprintf( buffer, VG_ARRAY_LEN(buffer), fmt, args ); + int line_length = snprintf( line, 90, "%s%7s" KNRM "|%s ", colour, prefix, colour ); + + if( !strcmp( last_buffer, buffer ) ) + { + dupe_counter ++; + fprintf( file, "repeat x%d\r", dupe_counter ); +#ifdef VG_ENGINE + if( SDL_UnlockMutex( vg_log.mutex ) ) + vg_fatal_error( "" ); +#endif + return; + } + + if( dupe_counter > 1 ) + { + fprintf( file, "\n" ); + dupe_counter = 1; + } - int line_length = snprintf( line, 90, "%s%7s" KNRM "|%s ", - colour, prefix, colour ); + strcpy( last_buffer, buffer ); for( u32 i=0; i