lua-users home
lua-l archive

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


2011/7/29 Lorenzo Donati <lorenzodonatibz@interfree.it>:
> On 27/07/2011 23.10, Luiz Henrique de Figueiredo wrote:
>>>
>>>     >  =big
>>>     2500000000
>>>     >  =string.format('%d', big)
>>>     -2147483648
>>
>> This works fine in 5.2:
>>
>> Lua 5.2.0  Copyright (C) 1994-2011 Lua.org, PUC-Rio
>>>
>>> big=2500000000
>>> =string.format('%d', big)
>>
>> 2500000000
>>
>>
>>
> Well, now I'm really puzzled. I tested again:
> x = 2^31
> print( ("%.0f     %d"):format(x,x) )
>
> on 5.2.0-alpha and all the betas (rc1 through rc7).
>
> and I keep getting the same results:
>
> --> 2147483648     -2147483648
>
> Since the issue should have been fixed in 5.2, either I'm doing something
> really silly or my toolchain has something wrong. Could it be that
> msvcrt.dll has some issue that mingw cannot work around?
>
> Is there someone else that gets the same results on WinXP (32bit) with (TDM)
> mingw?
>
> Any hint appreciated.
>
> -- Lorenzo
>
>

I used Win7 and Lua-5.2.0-beta (not rc), this is result:
D:\Work\Source\lua-5.2.0-beta\src>lua.exe
Lua 5.2.0 (beta)  Copyright (C) 1994-2011 Lua.org, PUC-Rio
> x = 2^31
> print(("%.0f %d"):format(x,x))
2147483648 -2147483648
>