-// Copyright (C) 2021 Harry Godden (hgn) - All Rights Reserved
-
-// Coloured logging
-// ===========================================================================================================
+/* Copyright (C) 2021-2022 Harry Godden (hgn) - All Rights Reserved */
#define KNRM "\x1B[0m"
#define KRED "\x1B[31m"
void (*vg_log_callback)( const char *str ) = NULL;
-static void vg_log_write( FILE *file, const char *prefix, const char *fmt, va_list args )
+static void vg_log_write( FILE *file, const char *prefix,
+ const char *fmt, va_list args )
{
char buffer[512];
int i, j;
vg_log_callback( buffer );
}
-static void vg_success( const char *fmt, ... )
- { va_list args; va_start( args, fmt ); vg_log_write( stdout, (KGRN "success" KWHT "| " KGRN), fmt, args ); va_end( args ); }
-static void vg_info( const char *fmt, ... )
- { va_list args; va_start( args, fmt ); vg_log_write( stdout, (KNRM " info" KWHT "| " KNRM), fmt, args ); va_end( args ); }
-static void vg_warn( const char *fmt, ... )
- { va_list args; va_start( args, fmt ); vg_log_write( stdout, (KYEL " warn" KWHT "| " KYEL), fmt, args ); va_end( args ); }
-static void vg_error( const char *fmt, ... )
- { va_list args; va_start( args, fmt ); vg_log_write( stderr, (KRED " error" KWHT "| " KRED), fmt, args ); va_end( args ); }
+#define VG_LOGX( NAME, PIPE, PFX ) \
+static void NAME(const char *fmt, ...) \
+{ \
+ va_list args; \
+ va_start( args, fmt ); \
+ vg_log_write( PIPE, (PFX), fmt, args ); \
+ va_end( args ); \
+}
-// FILE IO
-// ===========================================================================================================
+VG_LOGX( vg_success, stdout, (KGRN "success" KWHT "| " KGRN) )
+VG_LOGX( vg_info, stdout, (KNRM " info" KWHT "| " KNRM) )
+VG_LOGX( vg_warn, stdout, (KYEL " warn" KWHT "| " KYEL) )
+VG_LOGX( vg_error, stderr, (KRED " error" KWHT "| " KRED) )
+/*
+ * FIle I/O
+ */
static i64 vg_file_size( FILE *fileptr )
{
fseek( fileptr, 0, SEEK_END );
return fsize;
}
-static void *vg_disk_open_read( const char *path, int const reserve_end, i64 *size )
+static void *vg_disk_open_read( const char *path, int reserve_end, i64 *size )
{
FILE *f = fopen( path, "rb" );
if( f )
if( buf )
{
- // Invalid / corrupt read
+ /* Invalid / corrupt read */
if( fread( buf, 1, fsize, f ) != fsize )
{
free( buf );