It is certainly a bug ;-) Strangely, non-empty strings work: | aStream zipStream | aStream := ByteArray new writeStream binary. zipStream := GZipWriteStream on: aStream. zipStream nextStringPut: '123'. zipStream nextStringPut: 'ABC'. zipStream close. aStream close. aStream := aStream contents readStream binary. zipStream := GZipReadStream on: aStream. zipStream nextString. zipStream nextString. zipStream close. aStream close. I guess you could add a guard for the #nextInto: message send in GZipReadStream>>#nextString when the length is 0. But I haven't tried. Sven On 08 Dec 2011, at 16:53, Mariano Martinez Peck wrote:
no one? :(
On Tue, Dec 6, 2011 at 7:32 AM, Martin Dias <tinchodias@gmail.com> wrote: I forgot to say that I am working on a recent Pharo 1.3.
And it is not only GZipWriteStream but also ZipWriteStream and ZLibWriteStream .
MartÃn
On Mon, Dec 5, 2011 at 10:47 AM, Martin Dias <tinchodias@gmail.com> wrote: Hi,
I get a SubscriptOutOfBounds error when I evaluate:
| aStream zipStream |
aStream := ByteArray new writeStream binary. zipStream := GZipWriteStream on: aStream. zipStream nextStringPut: ''. zipStream nextStringPut: ''. zipStream close. aStream close.
aStream := aStream contents readStream binary. zipStream := GZipReadStream on: aStream. zipStream nextString. zipStream nextString. zipStream close. aStream close.
The error doesn't happen when I put just one string (instead of two).
Do you see something wrong in the code? Should I report a bug?
Thanks, MartÃn
-- Mariano http://marianopeck.wordpress.com