/* 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_log, stdout, (KWHT " log" KWHT "| " KWHT) )
-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
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;
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;
return 0;
}
}
+
+#endif /* VG_IO_H */