diff options
author | Roberto Ierusalimschy <roberto@inf.puc-rio.br> | 2002-01-09 20:02:47 -0200 |
---|---|---|
committer | Roberto Ierusalimschy <roberto@inf.puc-rio.br> | 2002-01-09 20:02:47 -0200 |
commit | f083812c020186d0d919833100c1a0b6eda8c2c0 (patch) | |
tree | 29c2e1d25f05af62277aab03e8e070aaa1a0d664 /lcode.c | |
parent | 3533382a1ed7ba21f0233057c886be2dd8a71d92 (diff) | |
download | lua-f083812c020186d0d919833100c1a0b6eda8c2c0.tar.gz lua-f083812c020186d0d919833100c1a0b6eda8c2c0.tar.bz2 lua-f083812c020186d0d919833100c1a0b6eda8c2c0.zip |
first implementation of coroutines
Diffstat (limited to 'lcode.c')
-rw-r--r-- | lcode.c | 3 |
1 files changed, 1 insertions, 2 deletions
@@ -264,8 +264,7 @@ static int nil_constant (FuncState *fs) { | |||
264 | 264 | ||
265 | void luaK_setcallreturns (FuncState *fs, expdesc *e, int nresults) { | 265 | void luaK_setcallreturns (FuncState *fs, expdesc *e, int nresults) { |
266 | if (e->k == VCALL) { /* expression is an open function call? */ | 266 | if (e->k == VCALL) { /* expression is an open function call? */ |
267 | if (nresults == LUA_MULTRET) nresults = NO_REG; | 267 | SETARG_C(getcode(fs, e), nresults+1); |
268 | SETARG_C(getcode(fs, e), nresults); | ||
269 | if (nresults == 1) { /* `regular' expression? */ | 268 | if (nresults == 1) { /* `regular' expression? */ |
270 | e->k = VNONRELOC; | 269 | e->k = VNONRELOC; |
271 | e->u.i.info = GETARG_A(getcode(fs, e)); | 270 | e->u.i.info = GETARG_A(getcode(fs, e)); |