BUG/MINOR: lua: return bad error messages
The returned type is the type of the top of stack value and
not the type of the checked argument.
[wt: this can be backported to 1.8, 1.7 and 1.6]
diff --git a/src/hlua.c b/src/hlua.c
index ebe8c92..5c56dc0 100644
--- a/src/hlua.c
+++ b/src/hlua.c
@@ -269,7 +269,7 @@
__LJMP unsigned int hlua_checkfunction(lua_State *L, int argno)
{
if (!lua_isfunction(L, argno)) {
- const char *msg = lua_pushfstring(L, "function expected, got %s", luaL_typename(L, -1));
+ const char *msg = lua_pushfstring(L, "function expected, got %s", luaL_typename(L, argno));
WILL_LJMP(luaL_argerror(L, argno, msg));
}
lua_pushvalue(L, argno);