Fixed: Use lua_tointeger under Lua 5.2 and prior versions

This commit is contained in:
kervala 2016-01-16 21:35:34 +01:00
parent 6b59d3dfe6
commit 66c8dcab61

View file

@ -253,7 +253,9 @@ inline lua_Integer CLuaState::toInteger(int index)
{ {
//H_AUTO(Lua_CLuaState_toInteger) //H_AUTO(Lua_CLuaState_toInteger)
checkIndex(index); checkIndex(index);
#if LUA_VERSION_NUM >= 503
sint isnum = 0; sint isnum = 0;
// lua_tointeger fails with decimal numbers under Lua 5.3
lua_Integer res = lua_tointegerx(_State, index, &isnum); lua_Integer res = lua_tointegerx(_State, index, &isnum);
if (!isnum) if (!isnum)
{ {
@ -262,6 +264,9 @@ inline lua_Integer CLuaState::toInteger(int index)
res = (lua_Integer)d; res = (lua_Integer)d;
} }
return res; return res;
#else
return lua_tointeger(_State, index);
#endif
} }
//================================================================================ //================================================================================