diff --git a/src/lj_api.c b/src/lj_api.c index 2a06fc8327..0412c1a568 100644 --- a/src/lj_api.c +++ b/src/lj_api.c @@ -376,8 +376,6 @@ LUA_API lua_Integer lua_tointeger(lua_State *L, int idx) } else { if (!(tvisstr(o) && lj_strscan_number(strV(o), &tmp))) return 0; - if (tvisint(&tmp)) - return intV(&tmp); n = numV(&tmp); } return (lua_Integer)n; @@ -388,20 +386,13 @@ LUA_API lua_Integer lua_tointegerx(lua_State *L, int idx, int *ok) cTValue *o = index2adr(L, idx); TValue tmp; lua_Number n; - if (LJ_LIKELY(tvisint(o))) { - if (ok) *ok = 1; - return intV(o); - } else if (LJ_LIKELY(tvisnum(o))) { + if (LJ_LIKELY(tvisnum(o))) { n = numV(o); } else { if (!(tvisstr(o) && lj_strscan_number(strV(o), &tmp))) { if (ok) *ok = 0; return 0; } - if (tvisint(&tmp)) { - if (ok) *ok = 1; - return intV(&tmp); - } n = numV(&tmp); } if (ok) *ok = 1;