Re: [Boost-bugs] [Boost C++ Libraries] #3723: gzip_docompressor error - basic_array_source no putback member

Subject: Re: [Boost-bugs] [Boost C++ Libraries] #3723: gzip_docompressor error - basic_array_source no putback member
From: Boost C++ Libraries (noreply_at_[hidden])
Date: 2010-03-10 07:29:46


#3723: gzip_docompressor error - basic_array_source no putback member
--------------------------+-------------------------------------------------
 Reporter: jose | Owner: turkanis
     Type: Bugs | Status: new
Milestone: Boost 1.43.0 | Component: iostreams
  Version: Boost 1.41.0 | Severity: Showstopper
 Keywords: |
--------------------------+-------------------------------------------------

Comment(by danieljames):

 (In [60415]) Gzip filter shouldn't require its source to be peekable. Refs
 #3723.

 In a recent version, the gzip filter stopped working for array sources,
 this is because it started to require them to be peekable, which they
 aren't and can't be because the peek interface modifies the source,
 which for an array source is immutable.

 Looking at the implementation, gzip decompressor has an internal class
 to emulate a peekable source, which calls the putback member on the
 original source if it runs out of space (requiring the source to be
 peekable). It shouldn't really need to do that so I changed it to throw
 an exception instead.

 If it does need to do that, we could change it to store the character
 that was put back at the beginning of the string instead.

-- 
Ticket URL: <https://svn.boost.org/trac/boost/ticket/3723#comment:7>
Boost C++ Libraries <http://www.boost.org/>
Boost provides free peer-reviewed portable C++ source libraries.

This archive was generated by hypermail 2.1.7 : 2017-02-16 18:50:02 UTC