better names for auxiliar functions

This commit is contained in:
Roberto Ierusalimschy
2002-11-14 13:41:38 -02:00
parent 5c5d9b2703
commit 097edd3884
9 changed files with 265 additions and 253 deletions

View File

@@ -1,5 +1,5 @@
/*
** $Id: lbaselib.c,v 1.105 2002/11/07 15:39:23 roberto Exp roberto $
** $Id: lbaselib.c,v 1.106 2002/11/14 12:01:35 roberto Exp roberto $
** Basic library
** See Copyright Notice in lua.h
*/
@@ -47,19 +47,19 @@ static int luaB_print (lua_State *L) {
static int luaB_tonumber (lua_State *L) {
int base = luaL_opt_int(L, 2, 10);
int base = luaL_optint(L, 2, 10);
if (base == 10) { /* standard conversion */
luaL_check_any(L, 1);
luaL_checkany(L, 1);
if (lua_isnumber(L, 1)) {
lua_pushnumber(L, lua_tonumber(L, 1));
return 1;
}
}
else {
const char *s1 = luaL_check_string(L, 1);
const char *s1 = luaL_checkstring(L, 1);
char *s2;
unsigned long n;
luaL_arg_check(L, 2 <= base && base <= 36, 2, "base out of range");
luaL_argcheck(L, 2 <= base && base <= 36, 2, "base out of range");
n = strtoul(s1, &s2, base);
if (s1 != s2) { /* at least one valid digit? */
while (isspace((unsigned char)(*s2))) s2++; /* skip trailing spaces */
@@ -75,8 +75,8 @@ static int luaB_tonumber (lua_State *L) {
static int luaB_error (lua_State *L) {
int level = luaL_opt_int(L, 2, 1);
luaL_check_any(L, 1);
int level = luaL_optint(L, 2, 1);
luaL_checkany(L, 1);
if (!lua_isstring(L, 1) || level == 0)
lua_pushvalue(L, 1); /* propagate error mesage without changes */
else { /* add extra information */
@@ -89,7 +89,7 @@ static int luaB_error (lua_State *L) {
static int luaB_getmetatable (lua_State *L) {
luaL_check_any(L, 1);
luaL_checkany(L, 1);
if (!lua_getmetatable(L, 1)) {
lua_pushnil(L);
return 1; /* no metatable */
@@ -101,8 +101,8 @@ static int luaB_getmetatable (lua_State *L) {
static int luaB_setmetatable (lua_State *L) {
int t = lua_type(L, 2);
luaL_check_type(L, 1, LUA_TTABLE);
luaL_arg_check(L, t == LUA_TNIL || t == LUA_TTABLE, 2,
luaL_checktype(L, 1, LUA_TTABLE);
luaL_argcheck(L, t == LUA_TNIL || t == LUA_TTABLE, 2,
"nil or table expected");
if (luaL_getmetafield(L, 1, "__metatable"))
luaL_error(L, "cannot change a protected metatable");
@@ -116,8 +116,8 @@ static void getfunc (lua_State *L) {
if (lua_isfunction(L, 1)) lua_pushvalue(L, 1);
else {
lua_Debug ar;
int level = luaL_opt_int(L, 1, 1);
luaL_arg_check(L, level >= 0, 1, "level must be non-negative");
int level = luaL_optint(L, 1, 1);
luaL_argcheck(L, level >= 0, 1, "level must be non-negative");
if (lua_getstack(L, level, &ar) == 0)
luaL_argerror(L, 1, "invalid level");
lua_getinfo(L, "f", &ar);
@@ -142,7 +142,7 @@ static int luaB_getglobals (lua_State *L) {
static int luaB_setglobals (lua_State *L) {
luaL_check_type(L, 2, LUA_TTABLE);
luaL_checktype(L, 2, LUA_TTABLE);
getfunc(L);
if (aux_getglobals(L)) /* __globals defined? */
luaL_error(L, "cannot change a protected global table");
@@ -156,24 +156,24 @@ static int luaB_setglobals (lua_State *L) {
static int luaB_rawequal (lua_State *L) {
luaL_check_any(L, 1);
luaL_check_any(L, 2);
luaL_checkany(L, 1);
luaL_checkany(L, 2);
lua_pushboolean(L, lua_rawequal(L, 1, 2));
return 1;
}
static int luaB_rawget (lua_State *L) {
luaL_check_type(L, 1, LUA_TTABLE);
luaL_check_any(L, 2);
luaL_checktype(L, 1, LUA_TTABLE);
luaL_checkany(L, 2);
lua_rawget(L, 1);
return 1;
}
static int luaB_rawset (lua_State *L) {
luaL_check_type(L, 1, LUA_TTABLE);
luaL_check_any(L, 2);
luaL_check_any(L, 3);
luaL_checktype(L, 1, LUA_TTABLE);
luaL_checkany(L, 2);
luaL_checkany(L, 3);
lua_rawset(L, 1);
return 1;
}
@@ -187,20 +187,20 @@ static int luaB_gcinfo (lua_State *L) {
static int luaB_collectgarbage (lua_State *L) {
lua_setgcthreshold(L, luaL_opt_int(L, 1, 0));
lua_setgcthreshold(L, luaL_optint(L, 1, 0));
return 0;
}
static int luaB_type (lua_State *L) {
luaL_check_any(L, 1);
luaL_checkany(L, 1);
lua_pushstring(L, lua_typename(L, lua_type(L, 1)));
return 1;
}
static int luaB_next (lua_State *L) {
luaL_check_type(L, 1, LUA_TTABLE);
luaL_checktype(L, 1, LUA_TTABLE);
lua_settop(L, 2); /* create a 2nd argument if there isn't one */
if (lua_next(L, 1))
return 2;
@@ -212,7 +212,7 @@ static int luaB_next (lua_State *L) {
static int luaB_pairs (lua_State *L) {
luaL_check_type(L, 1, LUA_TTABLE);
luaL_checktype(L, 1, LUA_TTABLE);
lua_getglobal(L, "next"); /* return generator, */
lua_pushvalue(L, 1); /* state, */
lua_pushnil(L); /* and initial value */
@@ -222,7 +222,7 @@ static int luaB_pairs (lua_State *L) {
static int luaB_ipairs (lua_State *L) {
lua_Number i = lua_tonumber(L, 2);
luaL_check_type(L, 1, LUA_TTABLE);
luaL_checktype(L, 1, LUA_TTABLE);
if (i == 0 && lua_isnull(L, 2)) { /* `for' start? */
lua_getglobal(L, "ipairs"); /* return generator, */
lua_pushvalue(L, 1); /* state, */
@@ -250,8 +250,8 @@ static int passresults (lua_State *L, int status) {
static int luaB_loadstring (lua_State *L) {
size_t l;
const char *s = luaL_check_lstr(L, 1, &l);
const char *chunkname = luaL_opt_string(L, 2, s);
const char *s = luaL_checklstring(L, 1, &l);
const char *chunkname = luaL_optstring(L, 2, s);
return passresults(L, luaL_loadbuffer(L, s, l, chunkname));
}
@@ -265,7 +265,7 @@ static int writer (lua_State *L, const void* b, size_t size, void* B) {
static int luaB_stringdump (lua_State *L) {
luaL_Buffer b;
luaL_check_type(L, 1, LUA_TFUNCTION);
luaL_checktype(L, 1, LUA_TFUNCTION);
luaL_buffinit(L,&b);
if (!lua_dump(L, writer, &b))
luaL_error(L, "unable to dump given function");
@@ -276,13 +276,13 @@ static int luaB_stringdump (lua_State *L) {
static int luaB_loadfile (lua_State *L) {
const char *fname = luaL_opt_string(L, 1, NULL);
const char *fname = luaL_optstring(L, 1, NULL);
return passresults(L, luaL_loadfile(L, fname));
}
static int luaB_dofile (lua_State *L) {
const char *fname = luaL_opt_string(L, 1, NULL);
const char *fname = luaL_optstring(L, 1, NULL);
int status = luaL_loadfile(L, fname);
if (status != 0) lua_error(L);
lua_call(L, 0, LUA_MULTRET);
@@ -291,9 +291,9 @@ static int luaB_dofile (lua_State *L) {
static int luaB_assert (lua_State *L) {
luaL_check_any(L, 1);
luaL_checkany(L, 1);
if (!lua_toboolean(L, 1))
return luaL_error(L, "%s", luaL_opt_string(L, 2, "assertion failed!"));
return luaL_error(L, "%s", luaL_optstring(L, 2, "assertion failed!"));
lua_settop(L, 1);
return 1;
}
@@ -301,12 +301,12 @@ static int luaB_assert (lua_State *L) {
static int luaB_unpack (lua_State *L) {
int n, i;
luaL_check_type(L, 1, LUA_TTABLE);
luaL_checktype(L, 1, LUA_TTABLE);
lua_pushliteral(L, "n");
lua_rawget(L, 1);
n = (lua_isnumber(L, -1)) ? (int)lua_tonumber(L, -1) : -1;
for (i=0; i<n || n==-1; i++) { /* push arg[1...n] */
luaL_check_stack(L, LUA_MINSTACK, "table too big to unpack");
luaL_checkstack(L, LUA_MINSTACK, "table too big to unpack");
lua_rawgeti(L, 1, i+1);
if (n == -1) { /* no explicit limit? */
if (lua_isnil(L, -1)) { /* stop at first `nil' element */
@@ -321,7 +321,7 @@ static int luaB_unpack (lua_State *L) {
static int luaB_pcall (lua_State *L) {
int status;
luaL_check_any(L, 1);
luaL_checkany(L, 1);
status = lua_pcall(L, lua_gettop(L) - 1, LUA_MULTRET, 0);
lua_pushboolean(L, (status == 0));
lua_insert(L, 1);
@@ -331,7 +331,7 @@ static int luaB_pcall (lua_State *L) {
static int luaB_xpcall (lua_State *L) {
int status;
luaL_check_any(L, 2);
luaL_checkany(L, 2);
lua_settop(L, 2);
lua_insert(L, 1); /* put error function under function to be called */
status = lua_pcall(L, 0, LUA_MULTRET, 1);
@@ -396,7 +396,7 @@ static int luaB_newproxy (lua_State *L) {
validproxy = lua_toboolean(L, -1);
lua_pop(L, 1); /* remove value */
}
luaL_arg_check(L, validproxy, 1, "boolean/proxy expected");
luaL_argcheck(L, validproxy, 1, "boolean/proxy expected");
lua_getmetatable(L, 1); /* metatable is valid; get it */
}
lua_setmetatable(L, 2);
@@ -463,7 +463,7 @@ static void pushcomposename (lua_State *L) {
static int luaB_require (lua_State *L) {
const char *path;
int status = LUA_ERRFILE; /* not found (yet) */
luaL_check_string(L, 1);
luaL_checkstring(L, 1);
lua_settop(L, 1);
lua_pushvalue(L, 1);
lua_setglobal(L, "_REQUIREDNAME");
@@ -563,7 +563,7 @@ static int auxresume (lua_State *L, lua_State *co, int narg) {
static int luaB_coresume (lua_State *L) {
lua_State *co = lua_tothread(L, 1);
int r;
luaL_arg_check(L, co, 1, "coroutine/thread expected");
luaL_argcheck(L, co, 1, "coroutine/thread expected");
r = auxresume(L, co, lua_gettop(L) - 1);
if (r < 0) {
lua_pushboolean(L, 0);
@@ -588,7 +588,7 @@ static int luaB_auxwrap (lua_State *L) {
static int luaB_cocreate (lua_State *L) {
lua_State *NL = lua_newthread(L);
luaL_arg_check(L, lua_isfunction(L, 1) && !lua_iscfunction(L, 1), 1,
luaL_argcheck(L, lua_isfunction(L, 1) && !lua_iscfunction(L, 1), 1,
"Lua function expected");
lua_pushvalue(L, 1); /* move function to top */
lua_xmove(L, NL, 1); /* move function from L to NL */
@@ -622,7 +622,7 @@ static const luaL_reg co_funcs[] = {
static void base_open (lua_State *L) {
lua_pushliteral(L, "_G");
lua_pushvalue(L, LUA_GLOBALSINDEX);
luaL_openlib(L, base_funcs, 0); /* open lib into global table */
luaL_openlib(L, NULL, base_funcs, 0); /* open lib into global table */
lua_pushliteral(L, "_VERSION");
lua_pushliteral(L, LUA_VERSION);
lua_rawset(L, -3); /* set global _VERSION */
@@ -642,7 +642,7 @@ static void base_open (lua_State *L) {
LUALIB_API int lua_baselibopen (lua_State *L) {
base_open(L);
luaL_opennamedlib(L, LUA_COLIBNAME, co_funcs, 0);
luaL_openlib(L, LUA_COLIBNAME, co_funcs, 0);
lua_newtable(L);
lua_setglobal(L, REQTAB);
return 0;