[M3devel] what to do about file sizes being 32bits?

Olaf Wagner wagner at elegosoft.com
Thu Jan 7 14:52:10 CET 2010


Quoting hendrik at topoi.pooq.com:

> On Thu, Jan 07, 2010 at 06:59:31AM +0000, Jay K wrote:
>>
>> File.i3:
>>
>>
>>   Status = RECORD
>>     type: Type;
>>     modificationTime: Time.T;
>>     size: CARDINAL (* oops... *)
>>   END;
>>
>>
>> What to do?
>> [0.. higher than 7FFFFFFF] doesn't "just work".
>>    higher than 7FFFFFFFF is not legal on 32bit, unless you put "L"   
>> on the end,
>>    which presumably has some relationship to turning it into a   
>> LONGINT, which
>>    causes users to fail to compile
>
> In any case, is the proper type for file offsets [0..7fffffffffffffff]
> or [0..ffffffffffffffff]?  I suspect the latter.  It might take some
> effort to make that legal in Modula 3.

Well, I don't think that should be any practical problem right now,
shouldn't it? But 32 bit offsets have been overcome for years even
on 32 bit systems, so I definitely think we should keep the LONGINT
type and even try to incompatibly change the internal file length
type (with due care and consideration of course).

And please not for the still unfinished release, but for the next
one.

Olaf
-- 
Olaf Wagner -- elego Software Solutions GmbH
                Gustav-Meyer-Allee 25 / Gebäude 12, 13355 Berlin, Germany
phone: +49 30 23 45 86 96  mobile: +49 177 2345 869  fax: +49 30 23 45 86 95
    http://www.elegosoft.com | Geschäftsführer: Olaf Wagner | Sitz: Berlin
Handelregister: Amtsgericht Charlottenburg HRB 77719 | USt-IdNr: DE163214194




More information about the M3devel mailing list