aboutsummaryrefslogtreecommitdiff
path: root/lauxlib.c
diff options
context:
space:
mode:
authorRoberto Ierusalimschy <roberto@inf.puc-rio.br>1998-09-07 15:59:59 -0300
committerRoberto Ierusalimschy <roberto@inf.puc-rio.br>1998-09-07 15:59:59 -0300
commitce9609296ce5d761e58af4cccdab6ca925613bea (patch)
tree0613054791c3c900a651d77a678672f811b075b2 /lauxlib.c
parentb1450721be39b9cb7b60144ec5115e379c56de77 (diff)
downloadlua-ce9609296ce5d761e58af4cccdab6ca925613bea.tar.gz
lua-ce9609296ce5d761e58af4cccdab6ca925613bea.tar.bz2
lua-ce9609296ce5d761e58af4cccdab6ca925613bea.zip
function "luaL_argerror" prints wrong argument number (from a user's point
of view) when functions have upvalues.
Diffstat (limited to 'lauxlib.c')
-rw-r--r--lauxlib.c9
1 files changed, 5 insertions, 4 deletions
diff --git a/lauxlib.c b/lauxlib.c
index 415c4fea..c8c1f3d6 100644
--- a/lauxlib.c
+++ b/lauxlib.c
@@ -1,5 +1,5 @@
1/* 1/*
2** $Id: lauxlib.c,v 1.11 1998/06/18 16:57:03 roberto Exp roberto $ 2** $Id: lauxlib.c,v 1.12 1998/06/19 16:14:09 roberto Exp roberto $
3** Auxiliary functions for building Lua libraries 3** Auxiliary functions for building Lua libraries
4** See Copyright Notice in lua.h 4** See Copyright Notice in lua.h
5*/ 5*/
@@ -27,10 +27,11 @@ int luaL_findstring (char *name, char *list[]) {
27 return -1; /* name not found */ 27 return -1; /* name not found */
28} 28}
29 29
30void luaL_argerror (int numarg, char *extramsg) 30void luaL_argerror (int numarg, char *extramsg) {
31{ 31 lua_Function f = lua_stackedfunction(0);
32 char *funcname; 32 char *funcname;
33 lua_getobjname(lua_stackedfunction(0), &funcname); 33 lua_getobjname(f, &funcname);
34 numarg -= lua_nups(f);
34 if (funcname == NULL) 35 if (funcname == NULL)
35 funcname = "???"; 36 funcname = "???";
36 if (extramsg == NULL) 37 if (extramsg == NULL)