
In my quest of making gzip work for my application on windows, I found the following bug : int main(int argc, char *argv[]) { std::ofstream strm("test.gz"); boost::iostreams::filtering_ostream sink; /* Push gzip compressor */ sink.push(boost::iostreams::gzip_compressor()); /* Push file writer */ sink.push(strm); #if 0 /* This does not work */ sink <<" OBJ N"<< std::endl; #else /* This works */ sink <<" OBJ N"<< std::endl; #endif } The first string results in a invalid gzip file i.e invalid compressed data--length error. I am aware this might be a bug in zib lib. It works on without any problems on linux. Does anyone use gzip on windows on a regular basis ?

On Thu, Apr 28, 2011 at 8:06 AM, Bo Jensen
Hi Bo, I have recently tried getting boost/gzip to work on Windows (x86) and also run into some weird behaviour. It is chronicled in two recent posts, "Read/write with gzip" and "Writing large binary files with boost gzip". I can't say for sure that all my problems have been Windows issues, but others have successfully run some of my code on Linux when I couldn't get it to behave. Anders

On Thu, Apr 28, 2011 at 12:29 PM, Anders Knudby
Yes, after some tweaks with flushing it works absolutely fine for me on linux. Windows on the other hand show some strange stuff like the one I mention. I tried to upgrade from zlib 1.2.4 to zlib 1.2.5, but can not make it compile with msvc-10. What version of zlib do you use ? Compiler ?

On Thu, Apr 28, 2011 at 12:41 PM, Bo Jensen
In regard to flushing issues, I can see from the zlib change list some new features were added in 1.2.4 : Added flush options Z_BLOCK to deflate() and Z_TREES to inflate() for finer control which was not possible when iostream library gzip stuff was implemented.
participants (2)
-
Anders Knudby
-
Bo Jensen