From f80b349d5490aa289b2925d297f3f3c618977570 Mon Sep 17 00:00:00 2001 From: Mike Pall Date: Thu, 27 Nov 2025 17:45:17 +0100 Subject: Unify Lua number to FFI integer conversions. Phew. #1411 --- src/lib_os.c | 8 +++++--- 1 file changed, 5 insertions(+), 3 deletions(-) (limited to 'src/lib_os.c') diff --git a/src/lib_os.c b/src/lib_os.c index ae3fc857..fffc923e 100644 --- a/src/lib_os.c +++ b/src/lib_os.c @@ -171,7 +171,8 @@ static int getfield(lua_State *L, const char *key, int d) LJLIB_CF(os_date) { const char *s = luaL_optstring(L, 1, "%c"); - time_t t = luaL_opt(L, (time_t)luaL_checknumber, 2, time(NULL)); + time_t t = lua_isnoneornil(L, 2) ? time(NULL) : + lj_num2int_type(luaL_checknumber(L, 2), time_t); struct tm *stm; #if LJ_TARGET_POSIX struct tm rtm; @@ -253,8 +254,9 @@ LJLIB_CF(os_time) LJLIB_CF(os_difftime) { - lua_pushnumber(L, difftime((time_t)(luaL_checknumber(L, 1)), - (time_t)(luaL_optnumber(L, 2, (lua_Number)0)))); + lua_pushnumber(L, + difftime(lj_num2int_type(luaL_checknumber(L, 1), time_t), + lj_num2int_type(luaL_optnumber(L, 2, (lua_Number)0), time_t))); return 1; } -- cgit v1.2.3-55-g6feb