--- a/ZipStream.st Mon Jun 24 12:10:45 2002 +0200
+++ b/ZipStream.st Mon Jun 24 12:14:06 2002 +0200
@@ -4,8 +4,7 @@
Stream subclass:#ZipStream
instanceVariableNames:'onStream hitEOF binary position readLimit mode inputBytes outputBytes zstream'
- classVariableNames:'Z_FINISH Z_NO_FLUSH Z_SYNC_FLUSH Z_FULL_FLUSH Z_DEFLATED
- Z_DEFAULT_COMPRESSION Z_DEFAULT_LEVEL Z_BEST_COMPRESSION
+ classVariableNames:'Z_DEFLATED Z_DEFAULT_COMPRESSION Z_DEFAULT_LEVEL Z_BEST_COMPRESSION
Z_DEF_MEM_LEVEL Z_DEFAULT_STRATEGY Z_FILTERED Z_HUFFMAN_ONLY
HEAD_OS_CODE HEAD_RESERVED HEAD_EXTRA_FIELD HEAD_ORIG_NAME
HEAD_COMMENT HEAD_CRC GZ_MAGIC_ID'
@@ -47,17 +46,12 @@
!ZipStream class methodsFor:'initialization'!
initialize
- |varZ_NO_FLUSH varZ_SYNC_FLUSH varZ_FULL_FLUSH varZ_FINISH varZ_DEFLATED
+ |varZ_DEFLATED
varZ_DEFAULT_COMPRESSION varZ_BEST_COMPRESSION varZ_DEF_MEM_LEVEL
varZ_DEFAULT_STRATEGY varZ_FILTERED varZ_HUFFMAN_ONLY
varHEAD_OS_CODE
|
%{
- varZ_NO_FLUSH = __MKSMALLINT( Z_NO_FLUSH );
- varZ_SYNC_FLUSH = __MKSMALLINT( Z_SYNC_FLUSH );
- varZ_FULL_FLUSH = __MKSMALLINT( Z_FULL_FLUSH );
- varZ_FINISH = __MKSMALLINT( Z_FINISH );
-
varZ_DEFLATED = __MKSMALLINT( Z_DEFLATED );
varZ_DEFAULT_COMPRESSION = __MKSMALLINT( Z_DEFAULT_COMPRESSION );
@@ -71,11 +65,6 @@
varHEAD_OS_CODE = __MKSMALLINT( OS_CODE );
%}.
- Z_NO_FLUSH := varZ_NO_FLUSH.
- Z_SYNC_FLUSH := varZ_SYNC_FLUSH.
- Z_FULL_FLUSH := varZ_FULL_FLUSH.
- Z_FINISH := varZ_FINISH.
-
Z_DEFLATED := varZ_DEFLATED.
Z_DEFAULT_COMPRESSION := varZ_DEFAULT_COMPRESSION.
@@ -367,7 +356,7 @@
zstream := nil.
!
-zdeflate:aLevel
+zdeflate:finishing
"low level - deflate
"
|errorNo|
@@ -377,9 +366,9 @@
%{
OBJ _zstreamObj = __INST( zstream );
- if( (_zstreamObj != nil) && (__isSmallInteger(aLevel)) )
+ if( _zstreamObj != nil )
{
- int _errorNo, _level;
+ int _errorNo, _action;
uLong _bfsize;
zstream_s * _zstream = (zstream_s *) __externalBytesAddress( _zstreamObj );
@@ -407,11 +396,11 @@
_zstream->stream.avail_out = _bfsize - 8;
RETURN( true );
}
- _level = __intVal( aLevel );
_zstream->stream.avail_out = _bfsize;
_zstream->stream.next_out = _zstream->out_ref;
-
- _errorNo = deflate( & _zstream->stream, __intVal(aLevel) );
+
+ _action = (finishing == true) ? Z_FINISH : Z_NO_FLUSH;
+ _errorNo = deflate( & _zstream->stream, _action );
if( _errorNo == Z_STREAM_END )
{
@@ -825,7 +814,7 @@
self flush.
[ self zflush.
- self zdeflate:Z_FINISH
+ self zdeflate:true
] whileTrue.
].
@@ -865,7 +854,7 @@
[continue] whileTrue:[
self zflush.
- continue := self zdeflate:Z_NO_FLUSH.
+ continue := self zdeflate:false.
].
!
@@ -922,6 +911,6 @@
!ZipStream class methodsFor:'documentation'!
version
- ^ '$Header: /cvs/stx/stx/libbasic2/ZipStream.st,v 1.11 2002-06-24 07:11:21 ca Exp $'
+ ^ '$Header: /cvs/stx/stx/libbasic2/ZipStream.st,v 1.12 2002-06-24 10:14:06 ca Exp $'
! !
ZipStream initialize!