On 11 April 2010 06:44, Mike Caron <[email protected]> wrote:
> Ralph Versteegen wrote:
>>
>> On 10 April 2010 14:36,  <[email protected]> wrote:
>>>
>>> pkmnfrk
>>> 2010-04-09 19:36:28 -0700 (Fri, 09 Apr 2010)
>>> 710
>>> Several untested major rewrites in RELOAD
>>>
>>> (Isn't that a catchy header?)
>>>
>>> I joke, they were all tested:
>>>
>>> 1. Instead of using the FB file I/O functions, I switched to the CRT I/O
>>> functions, as they let me load directly into memory buffers
>>
>> FB's file functions let you load into buffers, and we do it all over
>> the place. But the syntax is UGLY. So ugly in fact that Simon started
>> and I continued redeclaring the rtlib functions implementing GET and
>> PUT and calling them directly without having to remember the BASIC
>> syntatical nonsense:
>>
>> declare function fget alias "fb_FileGet" ( byval fnum as integer,
>> byval pos as integer = 0, byval dst as any ptr, byval bytes as
>> uinteger ) as integer
>> declare function fput alias "fb_FilePut" ( byval fnum as integer,
>> byval pos as integer = 0, byval src as any ptr, byval bytes as
>> uinteger ) as integer
>>
>> I would prefer that we stuck to FB's file functions, so that there'll
>> be less work in switching over to the Lumpfile abstracted file IO, but
>> it shouldn't be too much work to replace all your uses of C file IO
>> when I get around to it.
>
> I am aware of those, but they weren't working for me. They weren't loading
> any data from the file.

You weren't checking the return value, were you? The return value is
not the number of bytes read/written.

> When we do use this abstracted IO, I'll deal with making RELOAD compatible,
> don't worry.

Thanks, but is there any reason you want to do that: would you want to
do anything other than a straight translation?

>>> 2. Instead of using the FB String type, I switched to manually managed
>>> ZStrings for the all-important string table.
>>> 3. Instead of using the FB default memory management functions, I created
>>> some new ones to wrap the private heap feature. Remember: this still only
>>> works on Windows. Other platforms, or if it's disabled at compile time, use
>>> the default heap.
>>>
>>> This should A) Fix bug 831, and B) make everything tons easier to deal
>>> with in the future, RE adding new things.
>>> ---
>>> U   wip/reload.bas
>>> U   wip/reload.bi
>>> U   wip/reloadtest.bas
>>
>> _______________________________________________
>> Ohrrpgce mailing list
>> [email protected]
>> http://lists.motherhamster.org/listinfo.cgi/ohrrpgce-motherhamster.org
>
> --
> Mike
> _______________________________________________
> Ohrrpgce mailing list
> [email protected]
> http://lists.motherhamster.org/listinfo.cgi/ohrrpgce-motherhamster.org
>
_______________________________________________
Ohrrpgce mailing list
[email protected]
http://lists.motherhamster.org/listinfo.cgi/ohrrpgce-motherhamster.org

Reply via email to