finish_started
if (bstate == finish_started || bstate == finish_done) {
if (bstate == need_more || bstate == finish_started) {
if (s->strm->avail_out == 0) return (eof) ? finish_started : need_more; \