95 int const err(inflateEnd(&
m_zs));
100 msgs <<
"InflateInputStreambuf::~InflateInputStreambuf(): inflateEnd() failed"
101 <<
": " << zError(err);
106 std::cerr << msgs.str() << std::endl;
129 return traits_type::to_int_type(*gptr());
134 m_zs.next_out =
reinterpret_cast<unsigned char *
>(&
m_outvec[0]);
139 while(
m_zs.avail_out > 0 && err == Z_OK)
141 if(
m_zs.avail_in == 0)
148 m_zs.next_in =
reinterpret_cast<unsigned char *
>(&
m_invec[0]);
156 err = inflate(&
m_zs, Z_NO_FLUSH);
172 if(err != Z_OK && err != Z_STREAM_END)
175 msgs <<
"InflateInputStreambuf::underflow(): inflate failed"
176 <<
": " << zError(err);
182 if(inflated_bytes > 0)
184 return traits_type::to_int_type(*gptr());
187 return traits_type::eof();
209 if(stream_position >= 0)
212 m_inbuf->pubseekpos(stream_position);
217 m_zs.next_in =
reinterpret_cast<Bytef *
>(&
m_invec[0]);
224 err = inflateReset(&
m_zs);
229 err = inflateInit2(&
m_zs, -MAX_WBITS);
An IOException is used to signal an I/O error.
The zipios namespace includes the Zipios library definitions.
std::ostringstream OutputStringStream
An output stream using strings.
Various functions used throughout the library.
Various exceptions used throughout the Zipios library, all based on zipios::Exception.