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

View File

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

View File

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