On Thursday, 20 April 2017 at 20:24:15 UTC, Adam D. Ruppe wrote:
In short, byChunk reuses its buffer, and std.zlib holds on to
the pointer. That combination leads to corrupted data.
Easiest fix is to .dup the chunk...
So that's what's going on. But if I have to dup the blocks then
I have the same problem as before with limited memory issues. I
kinda wish more there was the gz_open that is in the C interface
and let it deal with the decompression and memory management as
appropriate.
I suppose i could incorporate a 8 byte header file that has the
length before/after that are 0's and just drop 630Mb from the
data that can be skipped... which is the bulk of the compressed
data. I just hoped to keep it very simple.