[Gambas-user] Array Resize limits

Benoît Minisini gambas at ...1...
Fri Aug 21 02:40:28 CEST 2015


Le 21/08/2015 02:01, Benoît Minisini a écrit :
> Le 21/08/2015 00:58, martin p cristia a écrit :
>> 'thi is the actual (just what's important) code
>>
>> Public MatRigEst As New Float[]
>>
>> Function calcular() As Integer
>>
>>
>>       Dim longo As Long, longo2 As Long
>>
>>       ' longo =  18000 * 6 * 64000  ' = -1677934592 !!!
>>
>>       'correct value
>>       longo = CLong(18000) * 6 * 64000  ' = 6912000000
>>
>>       MatRigEst.Resize(longo)  '--> no error
>>       Debug MatRigEst.Max  ' ----> -1677934592 !!!
>>
>>
>>       'test
>>       For longo2 = 0 To longo
>>
>>           MatRigEst[longo2] = 1000  '--->  Out of bounds on first element
>>
>>       Next
>>
>>
>> End Function
>>
>
> The Resize argument is a 32 bits integer, so the 64 bits integer is
> truncated, and may lead to a negative 32 bits integer. Alas, there is a
> bug where Resize does not raise an error if its argument is negative.
>
> I will fix that in the next revision.
>
> Regards,
>

Fixed in revision #7231.

Regards,

-- 
Benoît Minisini




More information about the User mailing list