mc 1.9
[vg.git] / src / vg / vg_io.h
index afd134f45a05a76d72d0a69ee7a5076a2eeecd93..376dfdac5f41ab297e1bea0e845a3066cc35bcbf 100644 (file)
@@ -1,7 +1,4 @@
-// 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"
@@ -14,7 +11,8 @@
 
 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;
@@ -36,18 +34,23 @@ static void vg_log_write( FILE *file, const char *prefix, const char *fmt, va_li
                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 );
@@ -57,7 +60,7 @@ static i64 vg_file_size( FILE *fileptr )
        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 )
@@ -67,7 +70,7 @@ static void *vg_disk_open_read( const char *path, int const reserve_end, i64 *si
                
                if( buf )
                {
-                       // Invalid / corrupt read
+                       /* Invalid / corrupt read */
                        if( fread( buf, 1, fsize, f ) != fsize )
                        {
                                free( buf );