From 5e113d0058a3201f88e6f1701050f0e50067bb39 Mon Sep 17 00:00:00 2001 From: Mike Pall Date: Wed, 22 Feb 2012 16:26:50 +0100 Subject: Fix argument type in error message for relative arguments. --- src/lj_err.c | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) (limited to 'src') diff --git a/src/lj_err.c b/src/lj_err.c index 4ebef8a0..c1e8c561 100644 --- a/src/lj_err.c +++ b/src/lj_err.c @@ -676,7 +676,7 @@ LJ_NOINLINE void lj_err_arg(lua_State *L, int narg, ErrMsg em) /* Typecheck error for arguments. */ LJ_NOINLINE void lj_err_argtype(lua_State *L, int narg, const char *xname) { - TValue *o = L->base + narg-1; + TValue *o = narg < 0 ? L->top + narg : L->base + narg-1; const char *tname = o < L->top ? typename(o) : lj_obj_typename[0]; const char *msg = lj_str_pushf(L, err2msg(LJ_ERR_BADTYPE), xname, tname); err_argmsg(L, narg, msg); -- cgit v1.2.3-55-g6feb