[FIX][3.4] RelativeZipFixAgain-nk

Doug Way dway at riskmetrics.com
Thu Feb 27 06:47:28 UTC 2003


On Thursday, February 27, 2003, at 01:32 AM, Ned Konz wrote:

> On Wednesday 26 February 2003 10:21 pm, Doug Way wrote:
>> I just tried testing this on OS X, with the Extract Member As
>> button on the archive viewer, and then "Enter File Name...".
>>
>> The fix seems to work... specifying an absolute path (with the Mac
>> colon format) now works.  Also, it seemed that even specifying a
>> relative path on the Mac, if you included a subdirectory, didn't
>> work before, and now that works too.  For example, you can enter
>> ":mysubdir:filename.txt" and it works now.
>>
>> I happened to try using Unix-style forward slashes at first without
>> thinking ("mysubdir/filename.txt"), and that caused it to crash &
>> burn pretty quickly.  Well, an MNU, at least. :-)  But that problem
>> already existed before anyway... probably some more general
>> FileDirectory problem.
>
> Where did you get the MNU?
>
> There is some trivial translation being done on the names out of the
> zip if you tell it to extract everything.

- On Mac OS X (Carbon VM), select one file in the archive viewer window
- hit Extract Member As button
- select "Enter File Name..." from the menu
- enter "mysubdir/filename.txt" for the file (has to be a subdirectory 
which doesn't exist yet)
- a prompt comes up saying "mysubdir/filename.txt does not exist", then 
select "create a new file"
- MessageNotUnderstood: binary

27 February 2003 1:44:38 am

VM: Mac OS - Squeak3.4alpha of '11 November 2002' [latest update: 
#5109] Squeak VM 3.4.0b2
Image: Squeak3.4gamma [latest update: #5170]

UndefinedObject(Object)>>doesNotUnderstand:
	Receiver: nil
	Arguments and temporary variables:
		aMessage: 	a Message with selector: #binary and arguments: #()
	Receiver's instance variables:
nil

ZipFileMember(ZipArchiveMember)>>extractTo:
	Receiver: a ZipFileMember(AcornDirFixes2.1.cs)
	Arguments and temporary variables:
		aStream: 	nil
		oldCompression: 	nil
	Receiver's instance variables:
		fileName: 	'AcornDirFixes2.1.cs'
		lastModFileDateTime: 	774028058
		fileAttributeFormat: 	3
		versionMadeBy: 	20
		versionNeededToExtract: 	20
		bitFlag: 	0
		compressionMethod: 	8
		desiredCompressionMethod: 	8
		desiredCompressionLevel: 	6
		internalFileAttributes: 	0
		externalFileAttributes: 	2176188416
		cdExtraField: 	a ByteArray()
		localExtraField: 	a ByteArray()
		fileComment: 	''
		crc32: 	2034825918
		compressedSize: 	661
		uncompressedSize: 	1265
		writeLocalHeaderRelativeOffset: 	nil
		readDataRemaining: 	0
		externalFileName: 	'Hal X:Users:dway:Desktop:Squeak3.2:test.zip'
		stream: 	StandardFileStream: 'Hal 
X:Users:dway:Desktop:Squeak3.2:test.zip'
		localHeaderRelativeOffset: 	0
		dataOffset: 	49

ZipFileMember(ZipArchiveMember)>>extractToFileNamed:inDirectory:
	Receiver: a ZipFileMember(AcornDirFixes2.1.cs)
	Arguments and temporary variables:
		aLocalFileName: 	'Hal 
X:Users:dway:Desktop:Squeak3.2:mysubbdir/filename.txt'
		dir: 	MacHFSPlusFileDirectory on 'Hal X:Users:dway:Desktop:Squeak3.2'
		stream: 	nil
		fullName: 	'Hal X:Users:dway:Desktop:Squeak3.2:mysubbdir/filename.txt'
		fullDir: 	MacHFSPlusFileDirectory on 'Hal 
X:Users:dway:Desktop:Squeak3.2'
	Receiver's instance variables:
		fileName: 	'AcornDirFixes2.1.cs'
		lastModFileDateTime: 	774028058
		fileAttributeFormat: 	3
		versionMadeBy: 	20
		versionNeededToExtract: 	20
		bitFlag: 	0
		compressionMethod: 	8
		desiredCompressionMethod: 	8
		desiredCompressionLevel: 	6
		internalFileAttributes: 	0
		externalFileAttributes: 	2176188416
		cdExtraField: 	a ByteArray()
		localExtraField: 	a ByteArray()
		fileComment: 	''
		crc32: 	2034825918
		compressedSize: 	661
		uncompressedSize: 	1265
		writeLocalHeaderRelativeOffset: 	nil
		readDataRemaining: 	0
		externalFileName: 	'Hal X:Users:dway:Desktop:Squeak3.2:test.zip'
		stream: 	StandardFileStream: 'Hal 
X:Users:dway:Desktop:Squeak3.2:test.zip'
		localHeaderRelativeOffset: 	0
		dataOffset: 	49

ZipFileMember(ZipArchiveMember)>>extractToFileNamed:
	Receiver: a ZipFileMember(AcornDirFixes2.1.cs)
	Arguments and temporary variables:
		aFileName: 	'Hal 
X:Users:dway:Desktop:Squeak3.2:mysubbdir/filename.txt'
	Receiver's instance variables:
		fileName: 	'AcornDirFixes2.1.cs'
		lastModFileDateTime: 	774028058
		fileAttributeFormat: 	3
		versionMadeBy: 	20
		versionNeededToExtract: 	20
		bitFlag: 	0
		compressionMethod: 	8
		desiredCompressionMethod: 	8
		desiredCompressionLevel: 	6
		internalFileAttributes: 	0
		externalFileAttributes: 	2176188416
		cdExtraField: 	a ByteArray()
		localExtraField: 	a ByteArray()
		fileComment: 	''
		crc32: 	2034825918
		compressedSize: 	661
		uncompressedSize: 	1265
		writeLocalHeaderRelativeOffset: 	nil
		readDataRemaining: 	0
		externalFileName: 	'Hal X:Users:dway:Desktop:Squeak3.2:test.zip'
		stream: 	StandardFileStream: 'Hal 
X:Users:dway:Desktop:Squeak3.2:test.zip'
		localHeaderRelativeOffset: 	0
		dataOffset: 	49


--- The full stack ---
UndefinedObject(Object)>>doesNotUnderstand:
ZipFileMember(ZipArchiveMember)>>extractTo:
ZipFileMember(ZipArchiveMember)>>extractToFileNamed:inDirectory:
ZipFileMember(ZipArchiveMember)>>extractToFileNamed:
  - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
ArchiveViewer>>extractMember
PluggableButtonMorph>>performAction
[] in PluggableButtonMorph>>mouseUp:
Array(SequenceableCollection)>>do:
PluggableButtonMorph>>mouseUp:
PluggableButtonMorph(Morph)>>handleMouseUp:
MouseButtonEvent>>sentTo:
PluggableButtonMorph(Morph)>>handleEvent:
PluggableButtonMorph(Morph)>>handleFocusEvent:
[] in HandMorph>>sendFocusEvent:to:clear:
PasteUpMorph>>becomeActiveDuring:
...etc...



More information about the Squeak-dev mailing list