summaryrefslogtreecommitdiff
path: root/lauxlib.c
diff options
context:
space:
mode:
authorRoberto Ierusalimschy <roberto@inf.puc-rio.br>2002-11-14 13:41:38 -0200
committerRoberto Ierusalimschy <roberto@inf.puc-rio.br>2002-11-14 13:41:38 -0200
commit097edd388494bf8d294adb101b9c5fda688813e1 (patch)
treeecf43d85ab01e5c939ae7b125befc15b9fa23c27 /lauxlib.c
parent5c5d9b27031f0a7fcf61df86cd242105c38485d6 (diff)
downloadlua-097edd388494bf8d294adb101b9c5fda688813e1.tar.gz
lua-097edd388494bf8d294adb101b9c5fda688813e1.tar.bz2
lua-097edd388494bf8d294adb101b9c5fda688813e1.zip
better names for auxiliar functions
Diffstat (limited to 'lauxlib.c')
-rw-r--r--lauxlib.c51
1 files changed, 28 insertions, 23 deletions
diff --git a/lauxlib.c b/lauxlib.c
index 5e55ddac..4b093676 100644
--- a/lauxlib.c
+++ b/lauxlib.c
@@ -1,5 +1,5 @@
1/* 1/*
2** $Id: lauxlib.c,v 1.88 2002/10/16 20:41:35 roberto Exp roberto $ 2** $Id: lauxlib.c,v 1.89 2002/10/22 18:07:55 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*/
@@ -93,25 +93,25 @@ LUALIB_API int luaL_findstring (const char *name, const char *const list[]) {
93} 93}
94 94
95 95
96LUALIB_API void luaL_check_stack (lua_State *L, int space, const char *mes) { 96LUALIB_API void luaL_checkstack (lua_State *L, int space, const char *mes) {
97 if (!lua_checkstack(L, space)) 97 if (!lua_checkstack(L, space))
98 luaL_error(L, "stack overflow (%s)", mes); 98 luaL_error(L, "stack overflow (%s)", mes);
99} 99}
100 100
101 101
102LUALIB_API void luaL_check_type (lua_State *L, int narg, int t) { 102LUALIB_API void luaL_checktype (lua_State *L, int narg, int t) {
103 if (lua_type(L, narg) != t) 103 if (lua_type(L, narg) != t)
104 tag_error(L, narg, t); 104 tag_error(L, narg, t);
105} 105}
106 106
107 107
108LUALIB_API void luaL_check_any (lua_State *L, int narg) { 108LUALIB_API void luaL_checkany (lua_State *L, int narg) {
109 if (lua_type(L, narg) == LUA_TNONE) 109 if (lua_type(L, narg) == LUA_TNONE)
110 luaL_argerror(L, narg, "value expected"); 110 luaL_argerror(L, narg, "value expected");
111} 111}
112 112
113 113
114LUALIB_API const char *luaL_check_lstr (lua_State *L, int narg, size_t *len) { 114LUALIB_API const char *luaL_checklstring (lua_State *L, int narg, size_t *len) {
115 const char *s = lua_tostring(L, narg); 115 const char *s = lua_tostring(L, narg);
116 if (!s) tag_error(L, narg, LUA_TSTRING); 116 if (!s) tag_error(L, narg, LUA_TSTRING);
117 if (len) *len = lua_strlen(L, narg); 117 if (len) *len = lua_strlen(L, narg);
@@ -119,17 +119,18 @@ LUALIB_API const char *luaL_check_lstr (lua_State *L, int narg, size_t *len) {
119} 119}
120 120
121 121
122LUALIB_API const char *luaL_opt_lstr (lua_State *L, int narg, const char *def, size_t *len) { 122LUALIB_API const char *luaL_optlstring (lua_State *L, int narg,
123 const char *def, size_t *len) {
123 if (lua_isnoneornil(L, narg)) { 124 if (lua_isnoneornil(L, narg)) {
124 if (len) 125 if (len)
125 *len = (def ? strlen(def) : 0); 126 *len = (def ? strlen(def) : 0);
126 return def; 127 return def;
127 } 128 }
128 else return luaL_check_lstr(L, narg, len); 129 else return luaL_checklstring(L, narg, len);
129} 130}
130 131
131 132
132LUALIB_API lua_Number luaL_check_number (lua_State *L, int narg) { 133LUALIB_API lua_Number luaL_checknumber (lua_State *L, int narg) {
133 lua_Number d = lua_tonumber(L, narg); 134 lua_Number d = lua_tonumber(L, narg);
134 if (d == 0 && !lua_isnumber(L, narg)) /* avoid extra test when d is not 0 */ 135 if (d == 0 && !lua_isnumber(L, narg)) /* avoid extra test when d is not 0 */
135 tag_error(L, narg, LUA_TNUMBER); 136 tag_error(L, narg, LUA_TNUMBER);
@@ -137,9 +138,9 @@ LUALIB_API lua_Number luaL_check_number (lua_State *L, int narg) {
137} 138}
138 139
139 140
140LUALIB_API lua_Number luaL_opt_number (lua_State *L, int narg, lua_Number def) { 141LUALIB_API lua_Number luaL_optnumber (lua_State *L, int narg, lua_Number def) {
141 if (lua_isnoneornil(L, narg)) return def; 142 if (lua_isnoneornil(L, narg)) return def;
142 else return luaL_check_number(L, narg); 143 else return luaL_checknumber(L, narg);
143} 144}
144 145
145 146
@@ -165,7 +166,17 @@ LUALIB_API int luaL_callmeta (lua_State *L, int obj, const char *event) {
165} 166}
166 167
167 168
168LUALIB_API void luaL_openlib (lua_State *L, const luaL_reg *l, int nup) { 169LUALIB_API void luaL_openlib (lua_State *L, const char *libname,
170 const luaL_reg *l, int nup) {
171 if (libname) {
172 lua_pushstring(L, libname);
173 lua_gettable(L, LUA_GLOBALSINDEX); /* check whether lib already exists */
174 if (lua_isnil(L, -1)) { /* no? */
175 lua_pop(L, 1);
176 lua_newtable(L); /* create it */
177 }
178 lua_insert(L, -(nup+1)); /* move library table to below upvalues */
179 }
169 for (; l->name; l++) { 180 for (; l->name; l++) {
170 int i; 181 int i;
171 lua_pushstring(L, l->name); 182 lua_pushstring(L, l->name);
@@ -174,18 +185,12 @@ LUALIB_API void luaL_openlib (lua_State *L, const luaL_reg *l, int nup) {
174 lua_pushcclosure(L, l->func, nup); 185 lua_pushcclosure(L, l->func, nup);
175 lua_settable(L, -(nup+3)); 186 lua_settable(L, -(nup+3));
176 } 187 }
177 lua_pop(L, nup); 188 lua_pop(L, nup); /* remove upvalues */
178} 189 if (libname) {
179 190 lua_pushstring(L, libname);
180 191 lua_pushvalue(L, -2);
181LUALIB_API void luaL_opennamedlib (lua_State *L, const char *libname, 192 lua_settable(L, LUA_GLOBALSINDEX);
182 const luaL_reg *l, int nup) { 193 }
183 lua_pushstring(L, libname);
184 lua_insert(L, -(nup+1));
185 lua_newtable(L);
186 lua_insert(L, -(nup+1));
187 luaL_openlib(L, l, nup);
188 lua_settable(L, LUA_GLOBALSINDEX);
189} 194}
190 195
191 196