-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 ); \
+}