diff options
| -rw-r--r-- | core/src/xmake/prefix.h | 19 | ||||
| -rw-r--r-- | tests/projects/xmake_cli/xmake/src/main.c | 3 |
2 files changed, 14 insertions, 8 deletions
diff --git a/core/src/xmake/prefix.h b/core/src/xmake/prefix.h index 5d6fba582..3c5c0679f 100644 --- a/core/src/xmake/prefix.h +++ b/core/src/xmake/prefix.h @@ -117,14 +117,21 @@ static __tb_inline__ tb_pointer_t xm_lua_topointer(lua_State* lua, tb_int_t idx) static __tb_inline__ tb_void_t xm_lua_register(lua_State *lua, tb_char_t const* libname, luaL_Reg const* l) { #if LUA_VERSION_NUM >= 504 - lua_getglobal(lua, libname); - if (lua_isnil(lua, -1)) + if (libname) { - lua_pop(lua, 1); - lua_newtable(lua); + lua_getglobal(lua, libname); + if (lua_isnil(lua, -1)) + { + lua_pop(lua, 1); + lua_newtable(lua); + } + luaL_setfuncs(lua, l, 0); + lua_setglobal(lua, libname); + } + else + { + luaL_setfuncs(lua, l, 0); } - luaL_setfuncs(lua, l, 0); - lua_setglobal(lua, libname); #else luaL_register(lua, libname, l); #endif diff --git a/tests/projects/xmake_cli/xmake/src/main.c b/tests/projects/xmake_cli/xmake/src/main.c index 975f51c38..7d1cda3e2 100644 --- a/tests/projects/xmake_cli/xmake/src/main.c +++ b/tests/projects/xmake_cli/xmake/src/main.c @@ -1,6 +1,5 @@ #include <xmake/xmake.h> -tb_int_t main(tb_int_t argc, tb_char_t** argv) -{ +tb_int_t main(tb_int_t argc, tb_char_t** argv) { return xm_engine_run("xmake", argc, argv, tb_null, tb_null); } |
