| 129 | } |
| 130 | |
| 131 | Status ZlibOutputBuffer::FlushOutputBufferToFile() { |
| 132 | uint32 bytes_to_write = output_buffer_capacity_ - z_stream_->avail_out; |
| 133 | if (bytes_to_write > 0) { |
| 134 | Status s = file_->Append(StringPiece( |
| 135 | reinterpret_cast<char*>(z_stream_output_.get()), bytes_to_write)); |
| 136 | if (s.ok()) { |
| 137 | z_stream_->next_out = z_stream_output_.get(); |
| 138 | z_stream_->avail_out = output_buffer_capacity_; |
| 139 | } |
| 140 | return s; |
| 141 | } |
| 142 | return Status::OK(); |
| 143 | } |
| 144 | |
| 145 | Status ZlibOutputBuffer::Append(StringPiece data) { |
| 146 | // If there is sufficient free space in z_stream_input_ to fit data we |