[squeak-dev] Re: StandardFileStream>>#readInto:startingAt:count: appears badly broken

Nicolas Cellier nicolas.cellier.aka.nice at gmail.com
Mon Mar 15 19:34:42 UTC 2010


2010/3/15 Chris Muller <asqueaker at gmail.com>:
>> I thought I did fix it In my image I have:
>> ^(self next: count into: byteArray startingAt: startIndex) size - startIndex + 1
>>
>> and next:into:startingAt: just return a copy truncated to last byte
>> read, so it relates to size read.
>
> I just committed a test demonstrating the bug to the trunk.  Please
> see testReadIntoStartingAtCount.
>
>> This stupid API was here before us, so we are just maintaining compatibility...
>
> Glad to hear it, right now I just want compatibility too, to get moved to 3.11.
>
>  - Chris
>
>

OK, I see my workaround don't work in all cases.

next: n into: aString startingAt: startIndex
always answer aString if is success reading the n items, and it did it
previously, that did not change...
It truncates only if it fails to read requested count.
It makes sense only when used thru #nextInto:
On the other hand, current stupid implementation prevents performing a
useless copy, except near end of stream...

I will publish a new workaround.

Nicolas



More information about the Squeak-dev mailing list