diff options
| author | ruki <[email protected]> | 2023-05-05 00:27:12 +0800 |
|---|---|---|
| committer | ruki <[email protected]> | 2023-05-05 00:27:12 +0800 |
| commit | 67bb0489eb61223f33d3e80fb525bec19395de75 (patch) | |
| tree | ecbf8abba3c340288097b34fe3a832c22ea94c77 | |
| parent | 23b27938f797d55ba2aebe34a7e7dbd09b685b69 (diff) | |
improve lua alloc
| -rw-r--r-- | core/src/xmake/engine.c | 8 |
1 files 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 |
