On 04 Dec 2013, at 13:14, Max Leske <maxleske@gmail.com> wrote:
Let me see what I can come up with.
To be somewhat compatible with existing streams, your memory stream should have the concept of âi am binary or textualâ and be able to switch in-place between these two states (#binary, #ascii). Depending on its state it should then return bytes or characters (or collections thereof). Have a look at ZnLimitedReadStream>>#next and/or ZnBivalentWriteStream>>#nextPut: To be 100% correct, encoding should be selectable. But maybe a default to utf-8 would be enough. You could have a look at ZnCharacter[Read|Write]Stream for inspiration. My 2c.
On 03.12.2013, at 19:36, Damien Cassou <damien.cassou@gmail.com> wrote:
Thanks Max for the report. Do you have an idea on how we could solve the problem ? The previous behaviour was not acceptable either because the streams that came out of a memory filesystem were the only ones with binary content
On Dec 3, 2013 5:35 PM, "Max Leske" <maxleske@gmail.com> wrote: Damien, Marcus
this change breaks a lot of things in FileSystem-Git. I donât disagree with the idea that reading characters should be default (one could argue about itâ¦) but your change makes it IMPOSSIBLE to read bytes because unprintable characters are discarded! So if my ByteArray is a NULL terminated string, for instance, I can not check for the NULL termination anymore.
Cheers, Max