mirror of
https://github.com/lua/lua.git
synced 2024-11-23 18:23:43 +08:00
bug: true 1 != true 2 + no more lua_getstr + some new macros
This commit is contained in:
parent
ca181f31e4
commit
7c8f1823e7
33
lapi.c
33
lapi.c
@ -180,8 +180,8 @@ LUA_API int lua_iscfunction (lua_State *L, int index) {
|
||||
|
||||
LUA_API int lua_isnumber (lua_State *L, int index) {
|
||||
TObject n;
|
||||
TObject *o = luaA_indexAcceptable(L, index);
|
||||
return (o != NULL && luaV_tonumber(o, &n));
|
||||
const TObject *o = luaA_indexAcceptable(L, index);
|
||||
return (o != NULL && tonumber(o, &n));
|
||||
}
|
||||
|
||||
|
||||
@ -222,7 +222,7 @@ LUA_API int lua_lessthan (lua_State *L, int index1, int index2) {
|
||||
LUA_API lua_Number lua_tonumber (lua_State *L, int index) {
|
||||
TObject n;
|
||||
const TObject *o = luaA_indexAcceptable(L, index);
|
||||
if (o != NULL && (o = luaV_tonumber(o, &n)) != NULL)
|
||||
if (o != NULL && tonumber(o, &n))
|
||||
return nvalue(o);
|
||||
else
|
||||
return 0;
|
||||
@ -247,7 +247,7 @@ LUA_API const char *lua_tostring (lua_State *L, int index) {
|
||||
else {
|
||||
const char *s;
|
||||
lua_lock(L); /* `luaV_tostring' may create a new string */
|
||||
s = (luaV_tostring(L, o) == 0) ? svalue(o) : NULL;
|
||||
s = (luaV_tostring(L, o) ? svalue(o) : NULL);
|
||||
lua_unlock(L);
|
||||
return s;
|
||||
}
|
||||
@ -263,7 +263,7 @@ LUA_API size_t lua_strlen (lua_State *L, int index) {
|
||||
else {
|
||||
size_t l;
|
||||
lua_lock(L); /* `luaV_tostring' may create a new string */
|
||||
l = (luaV_tostring(L, o) == 0) ? tsvalue(o)->tsv.len : 0;
|
||||
l = (luaV_tostring(L, o) ? tsvalue(o)->tsv.len : 0);
|
||||
lua_unlock(L);
|
||||
return l;
|
||||
}
|
||||
@ -350,7 +350,7 @@ LUA_API void lua_pushcclosure (lua_State *L, lua_CFunction fn, int n) {
|
||||
|
||||
LUA_API void lua_pushboolean (lua_State *L, int b) {
|
||||
lua_lock(L);
|
||||
setbvalue(L->top, b);
|
||||
setbvalue(L->top, (b != 0)); /* ensure that true is 1 */
|
||||
api_incr_top(L);
|
||||
lua_unlock(L);
|
||||
}
|
||||
@ -362,16 +362,6 @@ LUA_API void lua_pushboolean (lua_State *L, int b) {
|
||||
*/
|
||||
|
||||
|
||||
LUA_API void lua_getstr (lua_State *L, int index, const char *name) {
|
||||
TObject o;
|
||||
lua_lock(L);
|
||||
setsvalue(&o, luaS_new(L, name));
|
||||
luaV_gettable(L, luaA_index(L, index), &o, L->top);
|
||||
api_incr_top(L);
|
||||
lua_unlock(L);
|
||||
}
|
||||
|
||||
|
||||
LUA_API void lua_gettable (lua_State *L, int index) {
|
||||
StkId t;
|
||||
lua_lock(L);
|
||||
@ -439,17 +429,6 @@ LUA_API void lua_getmetatable (lua_State *L, int objindex) {
|
||||
*/
|
||||
|
||||
|
||||
LUA_API void lua_setstr (lua_State *L, int index, const char *name) {
|
||||
TObject o;
|
||||
lua_lock(L);
|
||||
api_checknelems(L, 1);
|
||||
setsvalue(&o, luaS_new(L, name));
|
||||
luaV_settable(L, luaA_index(L, index), &o, L->top - 1);
|
||||
L->top--; /* remove element from the top */
|
||||
lua_unlock(L);
|
||||
}
|
||||
|
||||
|
||||
LUA_API void lua_settable (lua_State *L, int index) {
|
||||
StkId t;
|
||||
lua_lock(L);
|
||||
|
Loading…
Reference in New Issue
Block a user