Boost logo

Boost :

Subject: [boost] [iostreams] 1.41 gzip filter regression
From: Alexander Arhipenko (arhipjan_at_[hidden])
Date: 2009-12-02 04:59:40


Hi guys,

In 1.41 we are experiencing regression in boost::iostreams::gzip_decompressor.
Almost 50% percents of our test *.gz files failed to decompress.

Following code snippet usually throws gzip error:

   std::ifstream f(n, std::ios_base::in | std::ios_base::binary);

   if(!f)
   {
      std::cerr<<"cant' open "<<n<<'\n';
   }

   namespace io = boost::iostreams;

   io::filtering_istream in;
   in.push(io::gzip_decompressor() );
   in.push(f);

   std::istreambuf_iterator<char> b(in);
   std::istreambuf_iterator<char> e;

   std::cout<<n<<'\n';

   std::copy(b, e, std::ostream_iterator<char>(std::cout) );

Maybe that is caused by incorrect api usage.
In this case, sorry for the noise in advance.

I've attached minimal example that reproduces the issue.
Build showfile executable and run ./showfile myfile.odt.bz2.gz > result.
You should have 'error: gzip error' on stderr.

Regards




Boost list run by bdawes at acm.org, gregod at cs.rpi.edu, cpdaniel at pacbell.net, john at johnmaddock.co.uk