aboutsummaryrefslogtreecommitdiff
path: root/auxlib.c
diff options
context:
space:
mode:
authorRoberto Ierusalimschy <roberto@inf.puc-rio.br>1997-04-06 11:08:08 -0300
committerRoberto Ierusalimschy <roberto@inf.puc-rio.br>1997-04-06 11:08:08 -0300
commit3a9516ffc8de0d33051f83dc786dba615d6bac49 (patch)
tree9608796ca5abb4a724d70d99cb34dd818eb95662 /auxlib.c
parent42fa305649199712aad1c96beadb944b01277e3f (diff)
downloadlua-3a9516ffc8de0d33051f83dc786dba615d6bac49.tar.gz
lua-3a9516ffc8de0d33051f83dc786dba615d6bac49.tar.bz2
lua-3a9516ffc8de0d33051f83dc786dba615d6bac49.zip
luaL check functions do not need the function name (it can be
accessed via luadebug interface).
Diffstat (limited to 'auxlib.c')
-rw-r--r--auxlib.c25
1 files changed, 15 insertions, 10 deletions
diff --git a/auxlib.c b/auxlib.c
index ea3b7678..83087572 100644
--- a/auxlib.c
+++ b/auxlib.c
@@ -1,14 +1,19 @@
1char *rcs_auxlib="$Id: auxlib.c,v 1.1 1997/03/17 17:02:29 roberto Exp roberto $"; 1char *rcs_auxlib="$Id: auxlib.c,v 1.2 1997/03/18 15:30:50 roberto Exp roberto $";
2 2
3#include <stdio.h> 3#include <stdio.h>
4#include <stdarg.h> 4#include <stdarg.h>
5 5
6#include "lua.h" 6#include "lua.h"
7#include "auxlib.h" 7#include "auxlib.h"
8#include "luadebug.h"
8 9
9 10
10void luaL_arg_check(int cond, char *funcname, int numarg, char *extramsg) 11void luaL_arg_check(int cond, int numarg, char *extramsg)
11{ 12{
13 char *funcname;
14 lua_getobjname(lua_stackedfunction(0), &funcname);
15 if (funcname == NULL)
16 funcname = "???";
12 if (!cond) { 17 if (!cond) {
13 if (extramsg == NULL) 18 if (extramsg == NULL)
14 luaL_verror("bad argument #%d to function `%s'", numarg, funcname); 19 luaL_verror("bad argument #%d to function `%s'", numarg, funcname);
@@ -18,31 +23,31 @@ void luaL_arg_check(int cond, char *funcname, int numarg, char *extramsg)
18 } 23 }
19} 24}
20 25
21char *luaL_check_string (int numArg, char *funcname) 26char *luaL_check_string (int numArg)
22{ 27{
23 lua_Object o = lua_getparam(numArg); 28 lua_Object o = lua_getparam(numArg);
24 luaL_arg_check(lua_isstring(o), funcname, numArg, "string expected"); 29 luaL_arg_check(lua_isstring(o), numArg, "string expected");
25 return lua_getstring(o); 30 return lua_getstring(o);
26} 31}
27 32
28char *luaL_opt_string (int numArg, char *def, char *funcname) 33char *luaL_opt_string (int numArg, char *def)
29{ 34{
30 return (lua_getparam(numArg) == LUA_NOOBJECT) ? def : 35 return (lua_getparam(numArg) == LUA_NOOBJECT) ? def :
31 luaL_check_string(numArg, funcname); 36 luaL_check_string(numArg);
32} 37}
33 38
34double luaL_check_number (int numArg, char *funcname) 39double luaL_check_number (int numArg)
35{ 40{
36 lua_Object o = lua_getparam(numArg); 41 lua_Object o = lua_getparam(numArg);
37 luaL_arg_check(lua_isnumber(o), funcname, numArg, "number expected"); 42 luaL_arg_check(lua_isnumber(o), numArg, "number expected");
38 return lua_getnumber(o); 43 return lua_getnumber(o);
39} 44}
40 45
41 46
42double luaL_opt_number (int numArg, double def, char *funcname) 47double luaL_opt_number (int numArg, double def)
43{ 48{
44 return (lua_getparam(numArg) == LUA_NOOBJECT) ? def : 49 return (lua_getparam(numArg) == LUA_NOOBJECT) ? def :
45 luaL_check_number(numArg, funcname); 50 luaL_check_number(numArg);
46} 51}
47 52
48void luaL_openlib (struct luaL_reg *l, int n) 53void luaL_openlib (struct luaL_reg *l, int n)