Я сейчас точно не помню, но судя по своему же коду вызов inflateEnd не нужен, ибо возврат из функции идет сразу после проверки (inflate(&m_zstream, Z_FINISH) == Z_STREAM_END)
насколько я помню документацию на злиб, то если вызов inflate завершился кодом Z_STREAM_END, то данные полностью распакованы.
В данном случае поскольку нам известна заранее длина распакованных данных, то можно сразу выделять буфер нужной длины.
Что у меня в коде и делается, так что строчку с inflateEnd надо удалить нафиг -)
|