1
0
mirror of https://github.com/moparisthebest/minetest synced 2024-12-22 07:38:48 -05:00

Lua->C getintfield() use lua_tointeger (#4408)

previously function used tonumber which returned float
this caused errors in large numbers and resulted in
obj-def-handlers being invalid when retrived from lua tables in c
This commit is contained in:
Tomas 2016-08-10 12:17:48 +02:00 committed by est31
parent 4503b5097f
commit c013c73f33

View File

@ -391,7 +391,7 @@ bool getintfield(lua_State *L, int table,
lua_getfield(L, table, fieldname);
bool got = false;
if(lua_isnumber(L, -1)){
result = lua_tonumber(L, -1);
result = lua_tointeger(L, -1);
got = true;
}
lua_pop(L, 1);
@ -404,7 +404,7 @@ bool getintfield(lua_State *L, int table,
lua_getfield(L, table, fieldname);
bool got = false;
if(lua_isnumber(L, -1)){
result = lua_tonumber(L, -1);
result = lua_tointeger(L, -1);
got = true;
}
lua_pop(L, 1);
@ -417,7 +417,7 @@ bool getintfield(lua_State *L, int table,
lua_getfield(L, table, fieldname);
bool got = false;
if(lua_isnumber(L, -1)){
result = lua_tonumber(L, -1);
result = lua_tointeger(L, -1);
got = true;
}
lua_pop(L, 1);
@ -430,7 +430,7 @@ bool getintfield(lua_State *L, int table,
lua_getfield(L, table, fieldname);
bool got = false;
if(lua_isnumber(L, -1)){
result = lua_tonumber(L, -1);
result = lua_tointeger(L, -1);
got = true;
}
lua_pop(L, 1);