checkin from browser
authorClaus Gittinger <cg@exept.de>
Sun, 10 Jan 1999 18:28:09 +0100
changeset 719 92b0f4641294
parent 718 ba2260d7863f
child 720 967fad20a8f1
checkin from browser
ZipArchive.st
--- a/ZipArchive.st	Fri Jan 08 14:00:17 1999 +0100
+++ b/ZipArchive.st	Sun Jan 10 18:28:09 1999 +0100
@@ -1168,7 +1168,7 @@
 extract:fileName
     "extract a filename entry as a byteArray"
 
-    |zmemb rawContents data|
+    |zmemb rawContents data oldEntry|
 
     recentlyExtractedEntries isNil ifTrue:[
         recentlyExtractedEntries := OrderedCollection new
@@ -1177,7 +1177,10 @@
         entry name = fileName ifTrue:[
             recentlyExtractedEntries removeIndex:index.
             recentlyExtractedEntries addLast:entry.
-            ^ entry data
+            data := entry data.
+            data notNil ifTrue:[
+                ^ data
+            ]
         ]
     ].
 
@@ -1194,10 +1197,13 @@
                 method:(zmemb compression_method)
                 size:(zmemb uncompressed_size).
 
-    zmemb data:data.
-    recentlyExtractedEntries addLast:zmemb.
-    [recentlyExtractedEntries size > 5] whileTrue:[
-        recentlyExtractedEntries removeFirst
+    data size < (32*1024) ifTrue:[
+"/        zmemb data:data.
+        recentlyExtractedEntries addLast:zmemb.
+        [recentlyExtractedEntries size > 5] whileTrue:[
+            oldEntry := recentlyExtractedEntries removeFirst.
+            oldEntry data:nil.
+        ].
     ].
     ^ data.
 
@@ -1205,7 +1211,7 @@
      (ZipArchive oldFileNamed:'/usr/lib/java/lib/classes.zip') extract:'java/io/UTFDataFormatException.class'
     "
 
-    "Modified: / 9.4.1998 / 13:14:35 / cg"
+    "Modified: / 10.1.1999 / 17:43:25 / cg"
 !
 
 members
@@ -1649,6 +1655,6 @@
 !ZipArchive class methodsFor:'documentation'!
 
 version
-    ^ '$Header: /cvs/stx/stx/libbasic2/ZipArchive.st,v 1.21 1999-01-07 14:45:44 cg Exp $'
+    ^ '$Header: /cvs/stx/stx/libbasic2/ZipArchive.st,v 1.22 1999-01-10 17:28:09 cg Exp $'
 ! !
 ZipArchive initialize!