diff options
| author | Roberto I <roberto@inf.puc-rio.br> | 2025-11-28 15:12:51 -0300 |
|---|---|---|
| committer | Roberto I <roberto@inf.puc-rio.br> | 2025-11-28 15:12:51 -0300 |
| commit | a07f6a824197d7dc01c321599d3bc71936a2590e (patch) | |
| tree | a3c4c0aff91e4175c31806727190803f250bf3e6 /ldo.c | |
| parent | f33cc4ddec886ea499d7d41dd60cac5ddc5687db (diff) | |
| download | lua-a07f6a824197d7dc01c321599d3bc71936a2590e.tar.gz lua-a07f6a824197d7dc01c321599d3bc71936a2590e.tar.bz2 lua-a07f6a824197d7dc01c321599d3bc71936a2590e.zip | |
Functions with vararg tables don't need hidden args.
Vararg functions with vararg tables don't use the arguments hidden in
the stack; therfore, it doesn't need to build/keep them.
Diffstat (limited to 'ldo.c')
| -rw-r--r-- | ldo.c | 2 |
1 files changed, 1 insertions, 1 deletions
| @@ -487,7 +487,7 @@ static void rethook (lua_State *L, CallInfo *ci, int nres) { | |||
| 487 | int ftransfer; | 487 | int ftransfer; |
| 488 | if (isLua(ci)) { | 488 | if (isLua(ci)) { |
| 489 | Proto *p = ci_func(ci)->p; | 489 | Proto *p = ci_func(ci)->p; |
| 490 | if (p->flag & PF_ISVARARG) | 490 | if (p->flag & PF_VAHID) |
| 491 | delta = ci->u.l.nextraargs + p->numparams + 1; | 491 | delta = ci->u.l.nextraargs + p->numparams + 1; |
| 492 | } | 492 | } |
| 493 | ci->func.p += delta; /* if vararg, back to virtual 'func' */ | 493 | ci->func.p += delta; /* if vararg, back to virtual 'func' */ |
