ZipStream.st
changeset 1056 44871623590b
parent 1054 3ce1b69ba3b8
child 1057 9df4a60df0ef
--- 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!