diff options
Diffstat (limited to 'lparser.c')
| -rw-r--r-- | lparser.c | 1 |
1 files changed, 1 insertions, 0 deletions
| @@ -547,6 +547,7 @@ static void singlevar (LexState *ls, expdesc *var) { | |||
| 547 | static void adjust_assign (LexState *ls, int nvars, int nexps, expdesc *e) { | 547 | static void adjust_assign (LexState *ls, int nvars, int nexps, expdesc *e) { |
| 548 | FuncState *fs = ls->fs; | 548 | FuncState *fs = ls->fs; |
| 549 | int needed = nvars - nexps; /* extra values needed */ | 549 | int needed = nvars - nexps; /* extra values needed */ |
| 550 | luaK_checkstack(fs, needed); | ||
| 550 | if (hasmultret(e->k)) { /* last expression has multiple returns? */ | 551 | if (hasmultret(e->k)) { /* last expression has multiple returns? */ |
| 551 | int extra = needed + 1; /* discount last expression itself */ | 552 | int extra = needed + 1; /* discount last expression itself */ |
| 552 | if (extra < 0) | 553 | if (extra < 0) |
