static lua_Unsigned luaL_checkunsigned (lua_State *L, int arg) { lua_Unsigned r; lua_Number x = lua_tonumber(L, arg); if (x == 0) luaL_checktype(L, arg, LUA_TNUMBER); lua_number2unsigned(r, x); return r; }
LUA_INLINE lua_Unsigned lua_tounsignedx(lua_State* L, int i, int* is_num) { lua_Unsigned result; lua_Number n = lua_tonumberx(L, i, is_num); lua_number2unsigned(result, n); return result; }
lua_Unsigned luaL_checkunsigned (lua_State *L, int i) { lua_Unsigned result; lua_Number n = lua_tonumber(L, i); if (n == 0 && !lua_isnumber(L, i)) luaL_checktype(L, i, LUA_TNUMBER); lua_number2unsigned(result, n); return result; }
LUA_API lua_Unsigned lua_tounsignedx (lua_State *L, int idx, int *isnum) { TValue n; const TValue *o = index2addr(L, idx); if (tonumber(o, &n)) { lua_Unsigned res; lua_Number num = nvalue(o); lua_number2unsigned(res, num); if (isnum) *isnum = 1; return res; } else { if (isnum) *isnum = 0; return 0; } }