MCPcopy Create free account
hub / github.com/OpenStarbound/OpenStarbound / luaB_xpcall

Function luaB_xpcall

source/extern/lua/lbaselib.c:434–443  ·  view source on GitHub ↗

** Do a protected call with error handling. After 'lua_rotate', the ** stack will have ; so, the function passes ** 2 to 'finishpcall' to skip the 2 first values when returning results. */

Source from the content-addressed store, hash-verified

432** 2 to 'finishpcall' to skip the 2 first values when returning results.
433*/
434static int luaB_xpcall (lua_State *L) {
435 int status;
436 int n = lua_gettop(L);
437 luaL_checktype(L, 2, LUA_TFUNCTION); /* check error function */
438 lua_pushboolean(L, 1); /* first result */
439 lua_pushvalue(L, 1); /* function */
440 lua_rotate(L, 3, 2); /* move them below function's arguments */
441 status = lua_pcallk(L, n - 2, LUA_MULTRET, 2, 2, finishpcall);
442 return finishpcall(L, status, 2);
443}
444
445
446static int luaB_tostring (lua_State *L) {

Callers

nothing calls this directly

Calls 7

lua_gettopFunction · 0.85
luaL_checktypeFunction · 0.85
lua_pushbooleanFunction · 0.85
lua_pushvalueFunction · 0.85
lua_rotateFunction · 0.85
lua_pcallkFunction · 0.85
finishpcallFunction · 0.85

Tested by

no test coverage detected