On 07.01.2012 14:05, Henrik Sperre Johansen wrote:
On 07.01.2012 13:20, Stéphane Ducasse wrote:
sounds like :)

Stef

On Jan 7, 2012, at 1:10 PM, Mariano Martinez Peck wrote:

FSReadStream>>  next: count
     | result |
     result := ByteArray new: count.
     handle at: position read: result startingAt: 1 count: count.
     position := position + 1.
      ^ result


shouldn't be

FSReadStream>>  next: count
     | result |
     result := ByteArray new: count.
     handle at: position read: result startingAt: 1 count: count.
     position := position + count.
      ^ result

At least with that (among some extensions) Fuel tests pass with FS :)

Cheers

--
Mariano
http://marianopeck.wordpress.com


Still wrong though, I think...
It doesn't handle the case where you try to read past end of stream.

next: count
^self nextInto: (ByteArray new: count)

would probably be better.

Cheers,
Henry


As for the API:

1) There's no next: into: (which returns the amount read). It's really the only way to do buffers without garbage allocations. 2) FSHandle >>at: offset read: buffer startingAt: start count: count is a weirdly named selector for what it does imho... Doesn't #at: offset read: count into: buffer startingAt: start make more sense?

Cheers,
Henry

Reply via email to