#include "lib-lua_priv.h"
static lua_State *L;
-static reg_entry registry[LTK_count];
-static const luaL_Reg lualibs[] = {
- {"", luaopen_base},
- {LUA_OSLIBNAME, luaopen_os},
- {LUA_LOADLIBNAME, luaopen_package},
- {LUA_TABLIBNAME, luaopen_table},
- {LUA_IOLIBNAME, luaopen_io},
- {LUA_STRLIBNAME, luaopen_string},
- {LUA_MATHLIBNAME, luaopen_math},
- {LUA_DBLIBNAME, luaopen_debug},
- {LUA_MADMUTT, luaopen_madmutt},
-};
-void mlua_initialize(void)
+void luaM_initialize(void)
{
+ static const luaL_Reg lualibs[] = {
+ {"", luaopen_base},
+ {LUA_OSLIBNAME, luaopen_os},
+ {LUA_LOADLIBNAME, luaopen_package},
+ {LUA_TABLIBNAME, luaopen_table},
+ {LUA_IOLIBNAME, luaopen_io},
+ {LUA_STRLIBNAME, luaopen_string},
+ {LUA_MATHLIBNAME, luaopen_math},
+ {LUA_DBLIBNAME, luaopen_debug},
+ {"madmutt", luaopen_madmutt},
+ };
+
int i;
L = lua_open();
}
}
-void mlua_shutdown(void)
+void luaM_shutdown(void)
{
lua_close(L);
}
-int mlua_dofile(const char *filename)
+int luaM_dofile(const char *filename)
{
return luaL_dofile(L, filename);
}
-int mlua_wrap(void (*errfun)(const char *fmt, ...), int status)
+int luaM_wrap(void (*errfun)(const char *fmt, ...), int status)
{
if (status) {
(*errfun)("-[lua]-: %s\n", lua_tostring(L, -1));
return status;
}
-const char *mlua_reggets(int tk)
-{
- if (registry[tk].type != REG_STR)
- return NULL;
- return registry[tk].s;
-}
-void mlua_regsets(int tk, const char *s)
+quadopt_t luaM_checkquadopt(lua_State *Ls, int narg)
{
- reg_entry_wipe(registry + tk);
- registry[tk].type = REG_STR;
- registry[tk].s = m_strdup(s);
+ const char *s;
+ int i = luaL_checkinteger(Ls, narg);
+
+ if (i & ~3) {
+ s = lua_pushfstring(Ls, "int in [0-3] expected, got %d", i);
+ return luaL_argerror(Ls, narg, s);
+ }
+ return i;
}
+