*** empty log message ***

This commit is contained in:
Mike Goslin 2000-12-15 01:13:25 +00:00
parent 78d368b6ca
commit f0db898172
3 changed files with 10 additions and 3 deletions

View File

@ -53,6 +53,7 @@ init(PT(Buffer) buffer) {
_temp_file_name = temp_name;
_temp_file_name.set_binary();
delete temp_name;
_decompressor = new ZDecompressor();
}
////////////////////////////////////////////////////////////////////
@ -139,6 +140,9 @@ initiate(Filename &source_file, Filename &dest_file) {
////////////////////////////////////////////////////////////////////
int Decompressor::
run(void) {
if (_decompressor == NULL) {
_decompressor = new ZDecompressor();
}
// See if there is anything left in the source file
if (_read_all_input == false) {
@ -160,16 +164,18 @@ run(void) {
nassertr(avail_out > 0 && avail_in > 0, false);
while (avail_in > 0) {
int ret = _decompressor.decompress_to_stream(next_in, avail_in,
int ret = _decompressor->decompress_to_stream(next_in, avail_in,
next_out, avail_out, dest_buffer,
dest_buffer_length, _write_stream);
if (ret == ZCompressorBase::S_error)
return DS_error_zlib;
if ((int)_decompressor.get_total_in() == _source_file_length &&
if ((int)_decompressor->get_total_in() == _source_file_length &&
avail_out == dest_buffer_length)
_read_stream.close();
_write_stream.close();
_source_file.unlink();
delete _decompressor;
_decompressor = NULL;
return DS_success;
}

View File

@ -54,7 +54,7 @@ private:
bool _read_all_input;
bool _handled_all_input;
int _source_buffer_length;
ZDecompressor _decompressor;
ZDecompressor *_decompressor;
};
#endif

View File

@ -41,6 +41,7 @@ ZCompressor(void) {
ZCompressor::
~ZCompressor(void) {
handle_zerror(deflateEnd(_stream), _stream);
delete _stream;
}
////////////////////////////////////////////////////////////////////