Platform and OS stability stuff
[vg.git] / src / vg / vg_io.h
index 376dfdac5f41ab297e1bea0e845a3066cc35bcbf..95e16231d4a998dfbabf74a851f095e1ef1d6a28 100644 (file)
@@ -1,52 +1,11 @@
 /* Copyright (C) 2021-2022 Harry Godden (hgn) - All Rights Reserved */
 
-#define KNRM  "\x1B[0m"
-#define KRED  "\x1B[31m"
-#define KGRN  "\x1B[32m"
-#define KYEL  "\x1B[33m"
-#define KBLU  "\x1B[34m"
-#define KMAG  "\x1B[35m"
-#define KCYN  "\x1B[36m"
-#define KWHT  "\x1B[37m"
+#ifndef VG_IO_H
+#define VG_IO_H
 
-void (*vg_log_callback)( const char *str ) = NULL;
-
-static void vg_log_write( FILE *file, const char *prefix, 
-      const char *fmt, va_list args )
-{
-       char buffer[512];
-       int i, j;
-       
-       for( i = 0; i < vg_list_size( buffer ); i ++ )
-       {
-               if( prefix[i] )
-                       buffer[i] = prefix[i];
-               else 
-                       break;
-       }
-       
-       j = i + vsnprintf( buffer + i, vg_list_size( buffer ) - i -2, fmt, args );
-       strcpy( buffer + j, KNRM );
-       
-       fputs( buffer, file );
-       
-       if( vg_log_callback )
-               vg_log_callback( buffer );
-}
-
-#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 );                           \
-}
-
-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) )
+#include "vg_stdint.h"
+#include "vg_platform.h"
+#include <stdio.h>
 
 /*
  * FIle I/O
@@ -66,17 +25,14 @@ static void *vg_disk_open_read( const char *path, int reserve_end, i64 *size )
        if( f )
        {
                i64 fsize = vg_file_size( f );
-               void *buf = malloc( fsize + reserve_end );
+               void *buf = vg_alloc( fsize + reserve_end );
                
-               if( buf )
-               {
-                       /* Invalid / corrupt read */
-                       if( fread( buf, 1, fsize, f ) != fsize )
-                       {
-                               free( buf );
-                               buf = NULL;
-                       }
-               }
+      /* Invalid / corrupt read */
+      if( fread( buf, 1, fsize, f ) != fsize )
+      {
+         vg_free( buf );
+         buf = NULL;
+      }
                
                *size = fsize;
                
@@ -94,7 +50,7 @@ static char *vg_disk_load_text( const char *path, i64 *size )
        char *buf;
        i64 fsize;
        
-       if( (buf = vg_disk_open_read( path, 1, &fsize )) )
+       if( (buf = (char *)vg_disk_open_read( path, 1, &fsize )) )
        {
                buf[ fsize ] = 0x00;
                *size = fsize +1;
@@ -141,3 +97,5 @@ static int vg_asset_write( const char *path, void *data, i64 size )
                return 0;
        }
 }
+
+#endif /* VG_IO_H */