small syntax fixes

This commit is contained in:
BADIM-PC\Vadim 2018-02-19 12:12:45 +03:00
parent f47a6cdfab
commit 3517e080e3
1 changed files with 30 additions and 28 deletions

View File

@ -35,7 +35,7 @@
static const char TicMachine[] = "_TIC80"; static const char TicMachine[] = "_TIC80";
s32 luaopen_lpeg(lua_State *L); s32 luaopen_lpeg(lua_State *lua);
// !TODO: get rid of this wrap // !TODO: get rid of this wrap
static s32 getLuaNumber(lua_State* lua, s32 index) 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. ** Message handler which appends stract trace to exceptions.
** This function was extractred from lua.c. ** This function was extractred from lua.c.
*/ */
static int msghandler (lua_State *L) { static s32 msghandler (lua_State *lua)
const char *msg = lua_tostring(L, 1); {
if (msg == NULL) { /* is error object not a string? */ const char *msg = lua_tostring(lua, 1);
if (luaL_callmeta(L, 1, "__tostring") && /* does it have a metamethod */ if (msg == NULL) /* is error object not a string? */
lua_type(L, -1) == LUA_TSTRING) /* that produces 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 */ return 1; /* that is the message */
else else
msg = lua_pushfstring(L, "(error object is a %s value)", msg = lua_pushfstring(lua, "(error object is a %s value)", luaL_typename(lua, 1));
luaL_typename(L, 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 */ 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. ** Please use this function for all top level lua functions.
** This function was extractred from lua.c (and stripped of signal handling) ** This function was extractred from lua.c (and stripped of signal handling)
*/ */
static int docall (lua_State *L, int narg, int nres) { static s32 docall (lua_State *lua, s32 narg, s32 nres)
int status; {
int base = lua_gettop(L) - narg; /* function index */ s32 status = 0;
lua_pushcfunction(L, msghandler); /* push message handler */ s32 base = lua_gettop(lua) - narg; /* function index */
lua_insert(L, base); /* put it under function and args */ lua_pushcfunction(lua, msghandler); /* push message handler */
status = lua_pcall(L, narg, nres, base); lua_insert(lua, base); /* put it under function and args */
lua_remove(L, base); /* remove message handler from the stack */ status = lua_pcall(lua, narg, nres, base);
lua_remove(lua, base); /* remove message handler from the stack */
return status; return status;
} }