aboutsummaryrefslogtreecommitdiff
path: root/ldo.c
diff options
context:
space:
mode:
authorRoberto I <roberto@inf.puc-rio.br>2025-11-28 15:12:51 -0300
committerRoberto I <roberto@inf.puc-rio.br>2025-11-28 15:12:51 -0300
commita07f6a824197d7dc01c321599d3bc71936a2590e (patch)
treea3c4c0aff91e4175c31806727190803f250bf3e6 /ldo.c
parentf33cc4ddec886ea499d7d41dd60cac5ddc5687db (diff)
downloadlua-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.c2
1 files changed, 1 insertions, 1 deletions
diff --git a/ldo.c b/ldo.c
index 44937068..75ce1488 100644
--- a/ldo.c
+++ b/ldo.c
@@ -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' */