From ee73af1fc4a36e30d06890f2dad796ee2c55f54d Mon Sep 17 00:00:00 2001 From: hgn Date: Mon, 16 Jun 2025 01:48:50 +0100 Subject: [PATCH] Dont put a star in that path you --- vg_build.h | 19 ++++++++----------- vg_io.c | 10 +++++++--- 2 files changed, 15 insertions(+), 14 deletions(-) diff --git a/vg_build.h b/vg_build.h index 754b2d4..2bd1254 100644 --- a/vg_build.h +++ b/vg_build.h @@ -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 027daa5..dbb51e9 100644 --- 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 ) -- 2.25.1