[squeak-dev] The Inbox: Compression-jdr.48.mcz
commits at source.squeak.org
commits at source.squeak.org
Thu Dec 31 23:14:02 UTC 2015
A new version of Compression was added to project The Inbox:
http://source.squeak.org/inbox/Compression-jdr.48.mcz
==================== Summary ====================
Name: Compression-jdr.48
Author: jdr
Time: 31 December 2015, 6:13:59.974 pm
UUID: 7798d7c6-8f39-45cc-a3cc-e0887130a62d
Ancestors: Compression-dtl.47
It solves a problem compressing a zipfile with many files (> 200), previously all files to be processed remained open, now only the file being processed is opened.
=============== Diff against Compression-dtl.47 ===============
Item was changed:
----- Method: ZipArchive>>writeTo: (in category 'writing') -----
writeTo: stream
stream binary.
members do: [ :member |
member writeTo: stream.
member endRead.
+ member close
].
writeCentralDirectoryOffset := stream position.
self writeCentralDirectoryTo: stream.
!
Item was changed:
----- Method: ZipArchive>>writeTo:prepending: (in category 'writing') -----
writeTo: stream prepending: aString
stream binary.
stream nextPutAll: aString.
members do: [ :member |
member writeTo: stream.
member endRead.
+ member close
].
writeCentralDirectoryOffset := stream position.
self writeCentralDirectoryTo: stream.
!
Item was changed:
----- Method: ZipNewFileMember>>from: (in category 'initialization') -----
from: aFileName
| entry |
compressionMethod := CompressionStored.
"Now get the size, attributes, and timestamps, and see if the file exists"
stream := StandardFileStream readOnlyFileNamed: aFileName.
self localFileName: (externalFileName := stream name).
entry := stream directoryEntry.
compressedSize := uncompressedSize := entry fileSize.
desiredCompressionMethod := compressedSize > 0 ifTrue: [ CompressionDeflated ] ifFalse: [ CompressionStored ].
+ self setLastModFileDateTimeFrom: entry modificationTime.
+ stream close
- self setLastModFileDateTimeFrom: entry modificationTime
!
Item was changed:
----- Method: ZipNewFileMember>>rewindData (in category 'private-writing') -----
rewindData
super rewindData.
+ stream ensureOpen.
readDataRemaining := stream size.
stream position: 0.!
More information about the Squeak-dev
mailing list
|