We now only return in the middle of the refill in case of read error, so inflate can be re-called if zlib needs an empty (z.avail_in=0) inflate call for flushing.