From 67bb0489eb61223f33d3e80fb525bec19395de75 Mon Sep 17 00:00:00 2001 From: ruki Date: Fri, 5 May 2023 00:27:12 +0800 Subject: improve lua alloc --- core/src/xmake/engine.c | 8 +++++--- 1 file changed, 5 insertions(+), 3 deletions(-) diff --git a/core/src/xmake/engine.c b/core/src/xmake/engine.c index 70e423b1b..d2f75fec1 100644 --- a/core/src/xmake/engine.c +++ b/core/src/xmake/engine.c @@ -1042,10 +1042,12 @@ static tb_void_t xm_engine_init_signal(xm_engine_t* engine) #if XM_HOOK_LUA_MEMALLOC static tb_pointer_t xm_engine_lua_realloc(tb_pointer_t udata, tb_pointer_t data, size_t osize, size_t nsize) { + tb_pointer_t ptr = tb_null; if (nsize == 0 && data) tb_free(data); - else if (!data) return tb_malloc((tb_size_t)nsize); - else return tb_ralloc(data, (tb_size_t)nsize); - return tb_null; + else if (!data) ptr = tb_malloc((tb_size_t)nsize); + else if (nsize > osize) ptr = tb_ralloc(data, (tb_size_t)nsize); + else ptr = data; + return ptr; } #endif -- cgit v1.3.1