diff options
-rw-r--r-- | libs/lmo/src/lmo_lualib.c | 10 |
1 files changed, 3 insertions, 7 deletions
diff --git a/libs/lmo/src/lmo_lualib.c b/libs/lmo/src/lmo_lualib.c index 8d869aa49c..30e91b3805 100644 --- a/libs/lmo/src/lmo_lualib.c +++ b/libs/lmo/src/lmo_lualib.c @@ -49,7 +49,7 @@ static int lmo_L_open(lua_State *L) { static int lmo_L_hash(lua_State *L) { const char *data = luaL_checkstring(L, 1); uint32_t hash = sfh_hash(data, strlen(data)); - lua_pushnumber(L, hash); + lua_pushinteger(L, (lua_Integer)hash); return 1; } @@ -140,17 +140,13 @@ static const luaL_reg R[] = { }; LUALIB_API int luaopen_lmo(lua_State *L) { - luaL_newmetatable(L, LMO_LUALIB_META); - luaL_register(L, NULL, R); - lua_pushvalue(L, -1); - lua_setfield(L, -2, "__index"); - lua_setglobal(L, LMO_LUALIB_META); - luaL_newmetatable(L, LMO_ARCHIVE_META); luaL_register(L, NULL, M); lua_pushvalue(L, -1); lua_setfield(L, -2, "__index"); lua_setglobal(L, LMO_ARCHIVE_META); + luaL_register(L, LMO_LUALIB_META, R); + return 1; } |