small syntax fixes
This commit is contained in:
parent
f47a6cdfab
commit
3517e080e3
34
src/luaapi.c
34
src/luaapi.c
|
@ -35,7 +35,7 @@
|
|||
|
||||
static const char TicMachine[] = "_TIC80";
|
||||
|
||||
s32 luaopen_lpeg(lua_State *L);
|
||||
s32 luaopen_lpeg(lua_State *lua);
|
||||
|
||||
// !TODO: get rid of this wrap
|
||||
static s32 getLuaNumber(lua_State* lua, s32 index)
|
||||
|
@ -1226,17 +1226,18 @@ static bool initLua(tic_mem* tic, const char* code)
|
|||
** Message handler which appends stract trace to exceptions.
|
||||
** This function was extractred from lua.c.
|
||||
*/
|
||||
static int msghandler (lua_State *L) {
|
||||
const char *msg = lua_tostring(L, 1);
|
||||
if (msg == NULL) { /* is error object not a string? */
|
||||
if (luaL_callmeta(L, 1, "__tostring") && /* does it have a metamethod */
|
||||
lua_type(L, -1) == LUA_TSTRING) /* that produces a string? */
|
||||
static s32 msghandler (lua_State *lua)
|
||||
{
|
||||
const char *msg = lua_tostring(lua, 1);
|
||||
if (msg == NULL) /* is error object not a string? */
|
||||
{
|
||||
if (luaL_callmeta(lua, 1, "__tostring") && /* does it have a metamethod */
|
||||
lua_type(lua, -1) == LUA_TSTRING) /* that produces a string? */
|
||||
return 1; /* that is the message */
|
||||
else
|
||||
msg = lua_pushfstring(L, "(error object is a %s value)",
|
||||
luaL_typename(L, 1));
|
||||
msg = lua_pushfstring(lua, "(error object is a %s value)", luaL_typename(lua, 1));
|
||||
}
|
||||
luaL_traceback(L, L, msg, 1); /* append a standard traceback */
|
||||
luaL_traceback(lua, lua, msg, 1); /* append a standard traceback */
|
||||
return 1; /* return the traceback */
|
||||
}
|
||||
|
||||
|
@ -1245,13 +1246,14 @@ static int msghandler (lua_State *L) {
|
|||
** Please use this function for all top level lua functions.
|
||||
** This function was extractred from lua.c (and stripped of signal handling)
|
||||
*/
|
||||
static int docall (lua_State *L, int narg, int nres) {
|
||||
int status;
|
||||
int base = lua_gettop(L) - narg; /* function index */
|
||||
lua_pushcfunction(L, msghandler); /* push message handler */
|
||||
lua_insert(L, base); /* put it under function and args */
|
||||
status = lua_pcall(L, narg, nres, base);
|
||||
lua_remove(L, base); /* remove message handler from the stack */
|
||||
static s32 docall (lua_State *lua, s32 narg, s32 nres)
|
||||
{
|
||||
s32 status = 0;
|
||||
s32 base = lua_gettop(lua) - narg; /* function index */
|
||||
lua_pushcfunction(lua, msghandler); /* push message handler */
|
||||
lua_insert(lua, base); /* put it under function and args */
|
||||
status = lua_pcall(lua, narg, nres, base);
|
||||
lua_remove(lua, base); /* remove message handler from the stack */
|
||||
return status;
|
||||
}
|
||||
|
||||
|
|
Loading…
Reference in New Issue