Dont put a star in that path you
authorhgn <hgodden00@gmail.com>
Mon, 16 Jun 2025 00:48:50 +0000 (01:48 +0100)
committerhgn <hgodden00@gmail.com>
Mon, 16 Jun 2025 00:48:50 +0000 (01:48 +0100)
vg_build.h
vg_io.c

index 754b2d400bb42932ce29de5991a52d2ef60b8415..2bd12543e6412d8d213fb53a0254b6e11adfc90d 100644 (file)
@@ -21,6 +21,7 @@ struct vg_compiler_env
 {
    u32 optimization;
    bool debug_asan;
+   bool pdb;
 
    enum platform 
    {
@@ -362,6 +363,7 @@ vg_compiler_run( struct vg_project *project,
       vg_strcat( &cmd, architecture_names[env->arch] );
       vg_strcat( &cmd, "-" );
       vg_strcat( &cmd, platform_names[env->platform] );
+      vg_strcat( &cmd, " -fno-sanitize=undefined " );
 
       if( env->platform == k_platform_linux )
       {
@@ -375,7 +377,8 @@ vg_compiler_run( struct vg_project *project,
 
          if( type == k_obj_type_exe )
          {
-            vg_strcat( &cmd, " /pdb:/dev/null" );
+            if( !env->pdb )
+               vg_strcat( &cmd, " /pdb:/dev/null" );
             vg_strcat( &cmd, " /SUBSYSTEM:windows" );
          }
       }
@@ -506,9 +509,7 @@ vg_make_app( struct vg_project *proj,
    {
       vg_strcat( &conf->link, "-lSDL2 -lGL -lX11 -lXxf86vm "
                               "-lXrandr -lXi -ldl -pthread " );
-
-      return vg_compiler_run( proj, env, conf, components.buffer, 
-                              appname, k_obj_type_exe );
+      return vg_compiler_run( proj, env, conf, components.buffer, appname, k_obj_type_exe );
    }
    else if( env->platform == k_platform_windows )
    {
@@ -516,15 +517,12 @@ vg_make_app( struct vg_project *proj,
       vg_strcat( &conf->link, "vg/dep/sdl/SDL2.dll " );
       vg_add_blob( proj, "vg/dep/sdl/SDL2.dll ", "" );
       vg_strcat( &conf->library, "-L./vg/dep/sdl " );
-
-      return vg_compiler_run( proj, env, conf, components.buffer, 
-                              appname, k_obj_type_exe );
+      return vg_compiler_run( proj, env, conf, components.buffer, appname, k_obj_type_exe );
    }
    else
    {
       vg_fatal_condition();
-      vg_info( "No compile procedure set for platform '%s'\n", 
-            platform_names[env->platform] );
+      vg_info( "No compile procedure set for platform '%s'\n", platform_names[env->platform] );
       vg_fatal_exit();
    }
 
@@ -533,6 +531,5 @@ vg_make_app( struct vg_project *proj,
 
 void vg_add_controller_database( struct vg_project *proj )
 {
-   vg_add_blob( proj, 
-                "vg/submodules/SDL_GameControllerDB/gamecontrollerdb.txt", "" );
+   vg_add_blob( proj, "vg/submodules/SDL_GameControllerDB/gamecontrollerdb.txt", "" );
 }
diff --git a/vg_io.c b/vg_io.c
index 027daa53f7e76873badb0c1667b2804d0afeeff9..dbb51e9064cfbe023a3dd4953ce785ea88f14c33 100644 (file)
--- a/vg_io.c
+++ b/vg_io.c
@@ -43,17 +43,21 @@ enum dir_open_result vg_dir_open( vg_dir *dir, const char *name )
    vg_str q;
    vg_strnull( &q, q_buf, 4096 );
    vg_strcat( &q, name );
-   vg_strcat( &q, "/*" );
-   if( !vg_strgood(&q) ) 
-      return k_dir_open_path_too_long;
 
    DWORD attributes = GetFileAttributes( q.buffer );
    if( attributes == INVALID_FILE_ATTRIBUTES )
+   {
+      vg_error( "Big problem: %d\n", GetLastError() );
       return k_dir_open_invalid_path;
+   }
 
    if( !(attributes & FILE_ATTRIBUTE_DIRECTORY) )
       return k_dir_open_is_file;
 
+   vg_strcat( &q, "/*" );
+   if( !vg_strgood(&q) ) 
+      return k_dir_open_path_too_long;
+
    vg_info( "FindFirstFile( '%s' )\n", q.buffer );
    dir->h = FindFirstFile( q.buffer, &dir->data );
    if( dir->h == INVALID_HANDLE_VALUE )