On 06 Sep 2012, at 10:26, Mariano Martinez Peck <
marianopeck@gmail.com> wrote:
> Hi guys. I found a problem when exporting/importing chunks with MultiByteBinaryOrTextStream and I think #skipSeparators is wrong.
> The code is:
>
> MultiByteBinaryOrTextStream �>> skipSeparators
>
> � � � [self atEnd] whileFalse: [
> � � � � � � � self basicNext isSeparator ifFalse: [
> � � � � � � � � � � � ^ self position: self position - 1]]
>
> Problem is that the position is not save, as it is done in
>
> MultiByteFileStream >> skipSeparators
>
> � � � | state character |
> � � � [
> � � � � � � � state := converter saveStateOf: self.
> � � � � � � � (character := self next)
> � � � � � � � � � � � ifNil: [ false ]
> � � � � � � � � � � � ifNotNil: [ character isSeparator ] ] whileTrue.
> � � � character ifNotNil: [
> � � � � � � � converter restoreStateOf: self with: state ]
>
>
> If I copy the implementation from MultiByteFileStream to MultiByteBinaryOrTextStream, my tests work as expected.
> But I am not a stream expert. So, what do you think? is this change correct?
>
> Thanks,
>
> --
> Mariano
>
http://marianopeck.wordpress.com