MCPcopy Create free account
hub / github.com/RomanKubiak/ctrlr / luaD_poscall

Function luaD_poscall

Source/Misc/lua/src/lua.c:5488–5506  ·  view source on GitHub ↗

Source from the content-addressed store, hash-verified

5486
5487
5488int luaD_poscall (lua_State *L, StkId firstResult) {
5489StkId res;
5490int wanted, i;
5491CallInfo *ci;
5492if (L->hookmask & LUA_MASKRET)
5493firstResult = callrethooks(L, firstResult);
5494ci = L->ci--;
5495res = ci->func; /* res == final position of 1st result */
5496wanted = ci->nresults;
5497L->base = (ci - 1)->base; /* restore base */
5498L->savedpc = (ci - 1)->savedpc; /* restore savedpc */
5499/* move results to correct place */
5500for (i = wanted; i != 0 && firstResult < L->top; i--)
5501setobjs2s(L, res++, firstResult++);
5502while (i-- > 0)
5503setnilvalue(res++);
5504L->top = res;
5505return (wanted - LUA_MULTRET); /* 0 iff wanted == LUA_MULTRET */
5506}
5507
5508
5509/*

Callers 3

luaD_precallFunction · 0.85
resumeFunction · 0.85
luaV_executeFunction · 0.85

Calls 1

callrethooksFunction · 0.85

Tested by

no test coverage detected