From 3d54cb7f3213db1cf8757ff0dae013c8145d017f Mon Sep 17 00:00:00 2001 From: Francois Perrad Date: Sat, 6 May 2017 10:45:59 +0200 Subject: [PATCH] align luaL_len with 5.3 --- src/lauxlib.h | 2 +- src/lj_api.c | 6 +++--- src/luajit.c | 2 +- 3 files changed, 5 insertions(+), 5 deletions(-) diff --git a/src/lauxlib.h b/src/lauxlib.h index 420b8912..46ac5638 100644 --- a/src/lauxlib.h +++ b/src/lauxlib.h @@ -90,7 +90,7 @@ LUALIB_API void (luaL_pushmodule) (lua_State *L, const char *modname, int sizehint); LUALIB_API void *(luaL_testudata) (lua_State *L, int ud, const char *tname); LUALIB_API void (luaL_setmetatable) (lua_State *L, const char *tname); -LUALIB_API int (luaL_len) (lua_State *L, int idx); +LUALIB_API lua_Integer (luaL_len) (lua_State *L, int idx); /* diff --git a/src/lj_api.c b/src/lj_api.c index 641658d2..71888f21 100644 --- a/src/lj_api.c +++ b/src/lj_api.c @@ -1221,12 +1221,12 @@ LUALIB_API int luaL_callmeta(lua_State *L, int idx, const char *field) return 0; } -LUALIB_API int luaL_len(lua_State *L, int idx) +LUALIB_API lua_Integer luaL_len(lua_State *L, int idx) { - int l; + lua_Integer l; int isnum; lua_len(L, idx); - l = (int)lua_tointegerx(L, -1, &isnum); + l = lua_tointegerx(L, -1, &isnum); if (!isnum) luaL_error(L, "object length is not a number"); lua_pop(L, 1); /* remove object */ diff --git a/src/luajit.c b/src/luajit.c index 4641b0b6..79c629e8 100644 --- a/src/luajit.c +++ b/src/luajit.c @@ -274,7 +274,7 @@ static int pushargs(lua_State *L) lua_getglobal(L, "arg"); if (!lua_istable(L, -1)) luaL_error(L, "'arg' is not a table"); - n = luaL_len(L, -1); + n = (int)luaL_len(L, -1); luaL_checkstack(L, n + 3, "too many arguments to script"); for (i = 1; i <= n; i++) lua_rawgeti(L, -i, i);