Comment #3 on issue 266 by
[hidden email]: GemStone-ANSI-Streams of
GsCore 0.245 does not agree with Zip implementation
http://code.google.com/p/glassdb/issues/detail?id=266Patching ZipArchive>>#readFrom:
readFrom: aStreamOrFileName
| stream name eocdPosition |
stream := aStreamOrFileName isStream
ifTrue: [
name := aStreamOrFileName name.
aStreamOrFileName]
ifFalse: [self error: 'from fileName not implemented yet'].
+ (stream isKindOf: AnsiReadStream)
+ ifTrue: [stream := ReadStream on: stream _collection].
stream binary.
eocdPosition := self class findEndOfCentralDirectoryFrom: stream.
eocdPosition <= 0 ifTrue: [self error: 'can''t find EOCD position'].
self readEndOfCentralDirectoryFrom: stream.
stream position: eocdPosition - centralDirectorySize.
self readMembersFrom: stream named: name
helps.