From 4901853c1163d0bba81ef1579835cb2b6560e245 Mon Sep 17 00:00:00 2001 From: Roberto Ierusalimschy Date: Tue, 10 Sep 2024 17:05:39 -0300 Subject: [PATCH] Parameter for lua_gc/LUA_GCSTEP changed to 'size_t' 'size_t' is the common type for measuring memory. 'int' can be too small for steps. --- lapi.c | 2 +- lbaselib.c | 2 +- manual/manual.of | 2 +- 3 files changed, 3 insertions(+), 3 deletions(-) diff --git a/lapi.c b/lapi.c index 98d23665..4f4e3021 100644 --- a/lapi.c +++ b/lapi.c @@ -1199,7 +1199,7 @@ LUA_API int lua_gc (lua_State *L, int what, ...) { } case LUA_GCSTEP: { lu_byte oldstp = g->gcstp; - l_obj n = va_arg(argp, int); + l_obj n = cast(l_obj, va_arg(argp, size_t)); int work = 0; /* true if GC did some work */ g->gcstp = 0; /* allow GC to run (other bits must be zero here) */ if (n <= 0) diff --git a/lbaselib.c b/lbaselib.c index a7b6c3ed..b296c4b7 100644 --- a/lbaselib.c +++ b/lbaselib.c @@ -216,7 +216,7 @@ static int luaB_collectgarbage (lua_State *L) { } case LUA_GCSTEP: { lua_Integer n = luaL_optinteger(L, 2, 0); - int res = lua_gc(L, o, (int)n); + int res = lua_gc(L, o, cast_sizet(n)); checkvalres(res); lua_pushboolean(L, res); return 1; diff --git a/manual/manual.of b/manual/manual.of index 93e3a114..f0a2ed94 100644 --- a/manual/manual.of +++ b/manual/manual.of @@ -3326,7 +3326,7 @@ Returns the remainder of dividing the current amount of bytes of memory in use by Lua by 1024. } -@item{@defid{LUA_GCSTEP} (int n)| +@item{@defid{LUA_GCSTEP} (size_t n)| Performs a step of garbage collection. }