MCPcopy Create free account
hub / github.com/defold/defold / luaD_poscall

Function luaD_poscall

engine/lua/src/lua/ldo.c:342–360  ·  view source on GitHub ↗

Source from the content-addressed store, hash-verified

340
341
342int luaD_poscall (lua_State *L, StkId firstResult) {
343 StkId res;
344 int wanted, i;
345 CallInfo *ci;
346 if (L->hookmask & LUA_MASKRET)
347 firstResult = callrethooks(L, firstResult);
348 ci = L->ci--;
349 res = ci->func; /* res == final position of 1st result */
350 wanted = ci->nresults;
351 L->base = (ci - 1)->base; /* restore base */
352 L->savedpc = (ci - 1)->savedpc; /* restore savedpc */
353 /* move results to correct place */
354 for (i = wanted; i != 0 && firstResult < L->top; i--)
355 setobjs2s(L, res++, firstResult++);
356 while (i-- > 0)
357 setnilvalue(res++);
358 L->top = res;
359 return (wanted - LUA_MULTRET); /* 0 iff wanted == LUA_MULTRET */
360}
361
362
363/*

Callers 3

luaV_executeFunction · 0.85
luaD_precallFunction · 0.85
resumeFunction · 0.85

Calls 1

callrethooksFunction · 0.85

Tested by

no test coverage detected