|
|
status = lua_resume(co, narg); | status = lua_resume(co, narg); |
if (status == 0 || status == LUA_YIELD) { | if (status == 0 || status == LUA_YIELD) { |
int nres = lua_gettop(co); | int nres = lua_gettop(co); |
if (!lua_checkstack(L, nres)) |
if (!lua_checkstack(L, nres + 1)) |
luaL_error(L, "too many results to resume"); | luaL_error(L, "too many results to resume"); |
lua_xmove(co, L, nres); /* move yielded values */ | lua_xmove(co, L, nres); /* move yielded values */ |
return nres; | return nres; |