internal int deflateParams(ZStream strm, int _level, int _strategy)
{
int err = Z_OK;
if (_level == Z_DEFAULT_COMPRESSION)
{
_level = 6;
}
if (_level < 0 || _level > 9 || _strategy < 0 || _strategy > Z_HUFFMAN_ONLY)
{
return Z_STREAM_ERROR;
}
if (config_table[level].func != config_table[_level].func && strm.total_in != 0)
{
// Flush the last buffer:
err = strm.deflate(Z_PARTIAL_FLUSH);
}
if (level != _level)
{
level = _level;
max_lazy_match = config_table[level].max_lazy;
good_match = config_table[level].good_length;
nice_match = config_table[level].nice_length;
max_chain_length = config_table[level].max_chain;
}
strategy = _strategy;
return err;
}