[fpc-devel] Memory Streams unable to handle reads past 2GB
    Jeppe Græsdal Johansen 
    jjohan07 at student.aau.dk
       
    Wed Nov  7 00:43:39 CET 2012
    
    
  
Den 07-11-2012 00:12, Andrew skrev:
> On 12-11-06 05:07 PM, Michael Van Canneyt wrote:
>
> Please re-open the issue and I will post an updated program that fails 
> EVERY TIME.
>
> Or just use the attached Widen.lpr... :-)
Try this
FSize:=int64(1024*1024*1024)*Factor;
1024*1024*1024 is handled as a longint on a 32bit machine. Multiplied by 
a byte will still give a longint, which will overflow if multiplied by 2.
It also generates a hint about that:
widen.lpr(44,12) Hint: Converting the operands to "Int64" before doing 
the multiply could prevent overflow errors.
    
    
More information about the fpc-devel
mailing list