Hi Jonathan, Thanks for handling this problem. Just to push more information on that subject, I've just tried, this morning, to replace file_descriptor_source/ file_descriptor_sink by fs::ifstream/fs::ofstream instance in the filtering chain and the same code snippet seems to works, i.e.: { fs::ofstream ofs(test_file, std::ios::binary) ; io::filtering_streamio::output ofilter ; ofilter.push(io::gzip_compressor()) ; ofilter.push(ofs) ; ofilter << s ; } { fs::ifstream ifs(test_file, std::ios::binary) ; io::filtering_streamio::input ifilter ; ifilter.push(io::gzip_decompressor()) ; ifilter.push(ifs) ; std::string rs ; ifilter >> rs ; } Looking forward to hearing from you. Best regards, Marc VIALA
bounces@lists.boost.org] De la part de Jonathan Turkanis Envoyé : vendredi 18 janvier 2008 04:50
During the implementation of a TARFILE module based on Boost.Iostream, Ive faced a problem during reading operation of a boost::iostream::filtering_stream<> with a GZip codec. To illustrate it, you will find hereafter a small code snippet that reproduces my problem:
...
Is there any bug in GZip decompressor with the file_descriptor_source? Or Ive missed something?
I'll look into it.
-- Jonathan Turkanis