--- a/ZipArchive.st Fri Nov 19 16:00:12 2010 +0100
+++ b/ZipArchive.st Fri Nov 19 16:57:27 2010 +0100
@@ -3460,21 +3460,20 @@
!ZipArchive methodsFor:'private-directory stuff'!
addCentralZipDirectory
- |zipEntry noEntries|
+ |noEntries|
centralDirectory isNil ifTrue: [
centralDirectory := ZipCentralDirectory new default.
].
noEntries := 0.
- zipEntry := firstEntry.
"/ ensure that the file position is at end
file setToEnd.
centralDirectory centralDirectoryStartOffset: file position.
- [ zipEntry notNil ] whileTrue: [
+ self zipMembersDo:[:zipEntry |
noEntries := noEntries + 1.
file nextPutLong: C_CENTRAL_HEADER_SIGNATURE MSB:false.
file nextPutShort:zipEntry versionMadeBy MSB:false.
@@ -3494,14 +3493,17 @@
file nextPutLong:zipEntry externalFileAttributes MSB:false.
file nextPutLong:zipEntry relativeLocalHeaderOffset MSB:false.
+ self assert:zipEntry fileNameLength = zipEntry fileName size.
file nextPutAll:zipEntry fileName.
+
zipEntry extraField notNil ifTrue: [
+ self assert:zipEntry extraFieldLength = zipEntry extraField size.
file nextPutAll:zipEntry extraField.
].
zipEntry fileComment notNil ifTrue: [
+ self assert:zipEntry fileCommentLength = zipEntry fileComment size.
file nextPutAll:zipEntry fileComment.
].
- zipEntry := zipEntry next.
].
centralDirectory centralDirectoryTotalNoOfEntries: noEntries.
@@ -3524,7 +3526,7 @@
file nextPutAll: centralDirectory zipComment.
].
- "Modified: / 19-11-2010 / 15:43:15 / cg"
+ "Modified: / 19-11-2010 / 16:23:36 / cg"
!
addMember
@@ -4999,11 +5001,11 @@
!ZipArchive class methodsFor:'documentation'!
version
- ^ '$Header: /cvs/stx/stx/libbasic2/ZipArchive.st,v 1.86 2010-11-19 15:00:12 cg Exp $'
+ ^ '$Header: /cvs/stx/stx/libbasic2/ZipArchive.st,v 1.87 2010-11-19 15:57:27 cg Exp $'
!
version_CVS
- ^ '$Header: /cvs/stx/stx/libbasic2/ZipArchive.st,v 1.86 2010-11-19 15:00:12 cg Exp $'
+ ^ '$Header: /cvs/stx/stx/libbasic2/ZipArchive.st,v 1.87 2010-11-19 15:57:27 cg Exp $'
! !
ZipArchive initialize!