diff --git a/src/lib_base.c b/src/lib_base.c index 34282cfc..d9b953ee 100644 --- a/src/lib_base.c +++ b/src/lib_base.c @@ -337,7 +337,7 @@ LJLIB_CF(dofile) if (luaL_loadfile(L, fname ? strdata(fname) : NULL) != 0) lua_error(L); lua_call(L, 0, LUA_MULTRET); - return (L->top - L->base) - 1; + return cast_int(L->top - L->base) - 1; } /* -- Base library: GC control -------------------------------------------- */ diff --git a/src/lib_io.c b/src/lib_io.c index d69b99a4..6fb91609 100644 --- a/src/lib_io.c +++ b/src/lib_io.c @@ -194,7 +194,7 @@ static int io_file_readchars(lua_State *L, FILE *fp, size_t n) static int io_file_read(lua_State *L, FILE *fp, int start) { - int ok, n, nargs = (L->top - L->base) - start; + int ok, n, nargs = cast_int(L->top - L->base) - start; clearerr(fp); if (nargs == 0) { ok = io_file_readline(L, fp); @@ -242,7 +242,7 @@ static int io_file_write(lua_State *L, FILE *fp, int start) } else if (tvisnum(tv)) { status = status && (fprintf(fp, LUA_NUMBER_FMT, numV(tv)) > 0); } else { - lj_lib_checkstr(L, tv-L->base+1); + lj_err_argt(L, cast_int(tv - L->base) + 1, LUA_TSTRING); } } return io_pushresult(L, status, NULL); diff --git a/src/lj_err.c b/src/lj_err.c index 02a7c4cc..da2555f9 100644 --- a/src/lj_err.c +++ b/src/lj_err.c @@ -677,7 +677,7 @@ LJ_NORET LJ_NOINLINE static void err_argmsg(lua_State *L, int narg, const char *fname = "?"; const char *ftype = getfuncname(L, L->base - 1, &fname); if (narg < 0 && narg > LUA_REGISTRYINDEX) - narg = (L->top - L->base) + narg + 1; + narg = cast_int(L->top - L->base) + narg + 1; if (ftype && ftype[3] == 'h' && --narg == 0) /* Check for "method". */ msg = lj_str_pushf(L, err2msg(LJ_ERR_BADSELF), fname, msg); else