aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorRoberto Ierusalimschy <roberto@inf.puc-rio.br>2000-10-30 10:50:09 -0200
committerRoberto Ierusalimschy <roberto@inf.puc-rio.br>2000-10-30 10:50:09 -0200
commitb3959d58ffc60bbfd288ffa8bf2e9ef19b7a862d (patch)
tree5adcd2a40a12428434c1ec08d1c08e9680fbceca
parentf379d06e24f22cb4d0afa3937c27ef35b73b00a6 (diff)
downloadlua-b3959d58ffc60bbfd288ffa8bf2e9ef19b7a862d.tar.gz
lua-b3959d58ffc60bbfd288ffa8bf2e9ef19b7a862d.tar.bz2
lua-b3959d58ffc60bbfd288ffa8bf2e9ef19b7a862d.zip
-rw-r--r--lapi.c32
1 files changed, 12 insertions, 20 deletions
diff --git a/lapi.c b/lapi.c
index adcd0ef1..70581f44 100644
--- a/lapi.c
+++ b/lapi.c
@@ -1,5 +1,5 @@
1/* 1/*
2** $Id: lapi.c,v 1.108 2000/10/24 19:19:15 roberto Exp roberto $ 2** $Id: lapi.c,v 1.109 2000/10/26 12:47:05 roberto Exp roberto $
3** Lua API 3** Lua API
4** See Copyright Notice in lua.h 4** See Copyright Notice in lua.h
5*/ 5*/
@@ -108,26 +108,23 @@ LUA_API void lua_pushvalue (lua_State *L, int index) {
108 108
109LUA_API int lua_type (lua_State *L, int index) { 109LUA_API int lua_type (lua_State *L, int index) {
110 StkId o = luaA_indexAcceptable(L, index); 110 StkId o = luaA_indexAcceptable(L, index);
111 if (o == NULL) return LUA_TNONE; 111 return (o == NULL) ? LUA_TNONE : ttype(o);
112 else return ttype(o);
113} 112}
114 113
115LUA_API const char *lua_typename (lua_State *L, int t) { 114LUA_API const char *lua_typename (lua_State *L, int t) {
116 UNUSED(L); 115 UNUSED(L);
117 return luaO_typenames[t]; 116 return (t == LUA_TNONE) ? "no value" : luaO_typenames[t];
118} 117}
119 118
120 119
121LUA_API int lua_iscfunction (lua_State *L, int index) { 120LUA_API int lua_iscfunction (lua_State *L, int index) {
122 StkId o = luaA_indexAcceptable(L, index); 121 StkId o = luaA_indexAcceptable(L, index);
123 if (o == NULL) return 0; 122 return (o == NULL) ? 0 : iscfunction(o);
124 else return iscfunction(o);
125} 123}
126 124
127LUA_API int lua_isnumber (lua_State *L, int index) { 125LUA_API int lua_isnumber (lua_State *L, int index) {
128 TObject *o = luaA_indexAcceptable(L, index); 126 TObject *o = luaA_indexAcceptable(L, index);
129 if (o == NULL) return 0; 127 return (o == NULL) ? 0 : (tonumber(o) == 0);
130 else return (tonumber(o) == 0);
131} 128}
132 129
133LUA_API int lua_isstring (lua_State *L, int index) { 130LUA_API int lua_isstring (lua_State *L, int index) {
@@ -138,8 +135,7 @@ LUA_API int lua_isstring (lua_State *L, int index) {
138 135
139LUA_API int lua_tag (lua_State *L, int index) { 136LUA_API int lua_tag (lua_State *L, int index) {
140 StkId o = luaA_indexAcceptable(L, index); 137 StkId o = luaA_indexAcceptable(L, index);
141 if (o == NULL) return LUA_NOTAG; 138 return (o == NULL) ? LUA_NOTAG : luaT_tag(o);
142 else return luaT_tag(o);
143} 139}
144 140
145LUA_API int lua_equal (lua_State *L, int index1, int index2) { 141LUA_API int lua_equal (lua_State *L, int index1, int index2) {
@@ -160,32 +156,28 @@ LUA_API int lua_lessthan (lua_State *L, int index1, int index2) {
160 156
161LUA_API double lua_tonumber (lua_State *L, int index) { 157LUA_API double lua_tonumber (lua_State *L, int index) {
162 StkId o = luaA_indexAcceptable(L, index); 158 StkId o = luaA_indexAcceptable(L, index);
163 if (o == NULL || tonumber(o)) return 0; 159 return (o == NULL || tonumber(o)) ? 0 : nvalue(o);
164 else return nvalue(o);
165} 160}
166 161
167LUA_API const char *lua_tostring (lua_State *L, int index) { 162LUA_API const char *lua_tostring (lua_State *L, int index) {
168 StkId o = luaA_indexAcceptable(L, index); 163 StkId o = luaA_indexAcceptable(L, index);
169 if (o == NULL || tostring(L, o)) return NULL; 164 return (o == NULL || tostring(L, o)) ? NULL : svalue(o);
170 else return svalue(o);
171} 165}
172 166
173LUA_API size_t lua_strlen (lua_State *L, int index) { 167LUA_API size_t lua_strlen (lua_State *L, int index) {
174 StkId o = luaA_indexAcceptable(L, index); 168 StkId o = luaA_indexAcceptable(L, index);
175 if (o == NULL || tostring(L, o)) return 0; 169 return (o == NULL || tostring(L, o)) ? 0 : tsvalue(o)->len;
176 else return tsvalue(o)->len;
177} 170}
178 171
179LUA_API lua_CFunction lua_tocfunction (lua_State *L, int index) { 172LUA_API lua_CFunction lua_tocfunction (lua_State *L, int index) {
180 StkId o = luaA_indexAcceptable(L, index); 173 StkId o = luaA_indexAcceptable(L, index);
181 if (o == NULL || !iscfunction(o)) return NULL; 174 return (o == NULL || !iscfunction(o)) ? NULL : clvalue(o)->f.c;
182 else return clvalue(o)->f.c;
183} 175}
184 176
185LUA_API void *lua_touserdata (lua_State *L, int index) { 177LUA_API void *lua_touserdata (lua_State *L, int index) {
186 StkId o = luaA_indexAcceptable(L, index); 178 StkId o = luaA_indexAcceptable(L, index);
187 if (o == NULL || ttype(o) != LUA_TUSERDATA) return NULL; 179 return (o == NULL || ttype(o) != LUA_TUSERDATA) ? NULL :
188 else return tsvalue(o)->u.d.value; 180 tsvalue(o)->u.d.value;
189} 181}
190 182
191LUA_API const void *lua_topointer (lua_State *L, int index) { 183LUA_API const void *lua_topointer (lua_State *L, int index) {