diff options
author | Roberto Ierusalimschy <roberto@inf.puc-rio.br> | 2002-11-14 13:41:38 -0200 |
---|---|---|
committer | Roberto Ierusalimschy <roberto@inf.puc-rio.br> | 2002-11-14 13:41:38 -0200 |
commit | 097edd388494bf8d294adb101b9c5fda688813e1 (patch) | |
tree | ecf43d85ab01e5c939ae7b125befc15b9fa23c27 /lauxlib.c | |
parent | 5c5d9b27031f0a7fcf61df86cd242105c38485d6 (diff) | |
download | lua-097edd388494bf8d294adb101b9c5fda688813e1.tar.gz lua-097edd388494bf8d294adb101b9c5fda688813e1.tar.bz2 lua-097edd388494bf8d294adb101b9c5fda688813e1.zip |
better names for auxiliar functions
Diffstat (limited to 'lauxlib.c')
-rw-r--r-- | lauxlib.c | 51 |
1 files changed, 28 insertions, 23 deletions
@@ -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 | ||
96 | LUALIB_API void luaL_check_stack (lua_State *L, int space, const char *mes) { | 96 | LUALIB_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 | ||
102 | LUALIB_API void luaL_check_type (lua_State *L, int narg, int t) { | 102 | LUALIB_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 | ||
108 | LUALIB_API void luaL_check_any (lua_State *L, int narg) { | 108 | LUALIB_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 | ||
114 | LUALIB_API const char *luaL_check_lstr (lua_State *L, int narg, size_t *len) { | 114 | LUALIB_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 | ||
122 | LUALIB_API const char *luaL_opt_lstr (lua_State *L, int narg, const char *def, size_t *len) { | 122 | LUALIB_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 | ||
132 | LUALIB_API lua_Number luaL_check_number (lua_State *L, int narg) { | 133 | LUALIB_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 | ||
140 | LUALIB_API lua_Number luaL_opt_number (lua_State *L, int narg, lua_Number def) { | 141 | LUALIB_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 | ||
168 | LUALIB_API void luaL_openlib (lua_State *L, const luaL_reg *l, int nup) { | 169 | LUALIB_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); | |
181 | LUALIB_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 | ||