Hi Levente, On Thu, Dec 8, 2011 at 5:44 PM, Levente Uzonyi <leves@elte.hu> wrote:
On Thu, 8 Dec 2011, Martin Dias wrote:
On Thu, Dec 8, 2011 at 2:50 PM, Sven Van Caekenberghe <sven@beta9.be>
wrote:
On 08 Dec 2011, at 18:43, Martin Dias wrote:
I think the problem is that this method supposes n >= 1:
Yeah, that is why I propose a guard, maybe in this method
n = 0 ifTrue: [ ^ buffer]
thanks, it fixes the issue (inserted at the beginning of InflateStream>> next:into:startingAt:).
The same issue should happen sending InflateStream>>readInto:**startingAt:count:
I guess we should add some tests in CompressionTests package. I can do it on a couple of days.
Yeah, that "fixes" the issue, but why didn't it fail before the "fix", when there was only one string written and read? ;)
I don't understand what you mean. But I found something strange when debugging, maybe it's the heisenbug you mentioned before: | aStream zipStream | aStream := ByteArray new writeStream binary. zipStream := GZipWriteStream on: aStream. zipStream nextPut: 5. zipStream close. aStream close. aStream := aStream contents readStream binary. zipStream := GZipReadStream on: aStream. self halt. zipStream next inspect. zipStream close. aStream close. When the #halt happens, I just press "Proceed". One hopes that #next answers 5 but not nil as it actually answers. Do you have a link to the mentioned heisenbug description? MartÃn
Levente
but I have no time to analyze the consequences/implications.
Sven