From 5cc8998974c349b2518e2e1ceac556549ab9d264 Mon Sep 17 00:00:00 2001 From: Alug Date: Wed, 21 Jan 2026 19:49:26 +0100 Subject: [PATCH] simplify LUA_Alloc Z_Realloc already handles everything internally, no need to manually free anything --- src/lua_infolib.c | 2 +- src/lua_script.c | 61 ++++++++++++++++++++++------------------------- 2 files changed, 30 insertions(+), 33 deletions(-) diff --git a/src/lua_infolib.c b/src/lua_infolib.c index 86ed88d5b..752c167f2 100644 --- a/src/lua_infolib.c +++ b/src/lua_infolib.c @@ -33,7 +33,7 @@ extern CV_PossibleValue_t Color_cons_t[]; extern UINT8 skincolor_modified[]; boolean LUA_CallAction(enum actionnum actionnum, mobj_t *actor); -state_t *astate; +state_t *astate = NULL; enum sfxinfo_read { sfxinfor_name = 0, diff --git a/src/lua_script.c b/src/lua_script.c index f134c0d68..0144e09d8 100644 --- a/src/lua_script.c +++ b/src/lua_script.c @@ -45,31 +45,31 @@ boolean lua_compatmode = false; // List of internal libraries to load from SRB2 static lua_CFunction liblist[] = { - LUA_EnumLib, // global metatable for enums - LUA_SOCLib, // A_Action functions, freeslot - LUA_BaseLib, // string concatination by +, CONS_Printf, p_local.h stuff (P_InstaThrust, P_Move), etc. - LUA_MathLib, // fixed_t and angle_t math functions - LUA_HookLib, // hookAdd and hook-calling functions - LUA_ConsoleLib, // console command/variable functions and structs - LUA_InfoLib, // info.h stuff: mobjinfo_t, mobjinfo[], state_t, states[] - LUA_MobjLib, // mobj_t, mapthing_t - LUA_PlayerLib, // player_t - LUA_SkinLib, // skin_t, skins[] - LUA_ThinkerLib, // thinker_t - LUA_MapLib, // line_t, side_t, sector_t, subsector_t - LUA_TagLib, // tags - LUA_PolyObjLib, // polyobj_t - LUA_BlockmapLib, // blockmap stuff - LUA_HudLib, // HUD stuff - LUA_FollowerLib, // follower_t, followers[] - LUA_BotVarsLib, // botvars_t - LUA_TerrainLib, // t_splash_t, t_footstep_t, t_overlay_t, terrain_t - LUA_WaypointLib, // waypoint_t - LUA_VectorLib, // vectors - LUA_MatrixLib, // matrices - LUA_QuaternionLib, // quaternions - LUA_VoiceLib, // kartvoice_t, skinvoices[] - LUA_ItemLib, // kartitem_t, kartresult_t, kartitemgraphics_t + LUA_EnumLib, // global metatable for enums + LUA_SOCLib, // A_Action functions, freeslot + LUA_BaseLib, // string concatination by +, CONS_Printf, p_local.h stuff (P_InstaThrust, P_Move), etc. + LUA_MathLib, // fixed_t and angle_t math functions + LUA_HookLib, // hookAdd and hook-calling functions + LUA_ConsoleLib, // console command/variable functions and structs + LUA_InfoLib, // info.h stuff: mobjinfo_t, mobjinfo[], state_t, states[] + LUA_MobjLib, // mobj_t, mapthing_t + LUA_PlayerLib, // player_t + LUA_SkinLib, // skin_t, skins[] + LUA_ThinkerLib, // thinker_t + LUA_MapLib, // line_t, side_t, sector_t, subsector_t + LUA_TagLib, // tags + LUA_PolyObjLib, // polyobj_t + LUA_BlockmapLib, // blockmap stuff + LUA_HudLib, // HUD stuff + LUA_FollowerLib, // follower_t, followers[] + LUA_BotVarsLib, // botvars_t + LUA_TerrainLib, // t_splash_t, t_footstep_t, t_overlay_t, terrain_t + LUA_WaypointLib, // waypoint_t + LUA_VectorLib, // vectors + LUA_MatrixLib, // matrices + LUA_QuaternionLib, // quaternions + LUA_VoiceLib, // kartvoice_t, skinvoices[] + LUA_ItemLib, // kartitem_t, kartresult_t, kartitemgraphics_t NULL }; @@ -77,12 +77,8 @@ static lua_CFunction liblist[] = { static void *LUA_Alloc(void *ud, void *ptr, size_t osize, size_t nsize) { (void)ud; - if (nsize == 0) { - if (osize != 0) - Z_Free(ptr); - return NULL; - } else - return Z_Realloc(ptr, nsize, PU_LUA, NULL); + (void)osize; + return Z_Realloc(ptr, nsize, PU_LUA, NULL); } // Panic function Lua calls when there's an unprotected error. @@ -690,7 +686,8 @@ void LUA_ClearState(void) lua_setfield(L, LUA_REGISTRYINDEX, LREG_METATABLES); // open srb2 libraries - for(i = 0; liblist[i]; i++) { + for (i = 0; liblist[i]; i++) + { lua_pushcfunction(L, liblist[i]); lua_call(L, 0, 0); }