lua-users home
lua-l archive

[Date Prev][Date Next][Thread Prev][Thread Next] [Date Index] [Thread Index]


> lobject.c:327:5: warning: format '%d' expects argument of type 'int', but argume
> nt 3 has type 'lua_Integer' [-Wformat=]
>      len = lua_integer2str(buff, ivalue(obj));
>      ^
> [...]
> liolib.c:612:17: warning: format '%d' expects argument of type 'int', but argume
> nt 3 has type 'lua_Integer' [-Wformat=]
>                  ? fprintf(f, LUA_INTEGER_FMT, lua_tointeger(L, arg))
>                  ^
> [...]
> luac.c:269:2: warning: format '%d' expects argument of type 'int', but argument
> 2 has type 'lua_Integer' [-Wformat=]
>   printf(LUA_INTEGER_FMT,ivalue(o));
>   ^
> [...]

All three warnings are about the same issue. Can you make your code
print the value of LUA_INTEGER_FMT (a string)? It should be "%I64d", not
"%d".  (Just in case, print also the value of macro LUA_INTEGER_FRMLEN,
another string.)

This whole thing is weird, because this code should give a warning
in all other platforms, too...

-- Roberto