private void init(Stream innerStream)
{
m_stream = innerStream;
if (m_stream.CanRead)
{
m_in = new ZStream();
int ret = m_in.inflateInit();
if (ret != zlibConst.Z_OK)
throw new CompressionFailedException("Unable to initialize zlib for deflate: " + ret);
m_inbuf = new byte[bufsize];
m_in.avail_in = 0;
m_in.next_in = m_inbuf;
m_in.next_in_index = 0;
}
if (m_stream.CanWrite)
{
m_out = new ZStream();
int ret = m_out.deflateInit(zlibConst.Z_DEFAULT_COMPRESSION);
if (ret != zlibConst.Z_OK)
throw new CompressionFailedException("Unable to initialize zlib for inflate: " + ret);
m_outbuf = new byte[bufsize];
m_out.next_out = m_outbuf;
}
}