Le 19/4/16 16:10, Tudor Girba a écrit :
The way I see it is that pathString can be anything that understands
asFileReference. This means:
- FileReference
- Path
- String
Indeed and we should write it in the comment.
Doru
On Apr 19, 2016, at 2:54 PM, stepharo <steph...@free.fr> wrote:
unzip: fullFileName to: pathString
"Unzip the contents of the file specified by the full path name fullFileName to
the location given by pathString."
so we would expect to pass a string in the second argument?
the unique sender of it in the system
unzip: fullFileName
"Unzip the contents of a gzipped file specified by its full file name to the
current working directory"
^ self unzip: fullFileName to: FileSystem disk workingDirectory
but the implementation seems to indicate that fullFileName is should be a
string as well as pathString
unzip: fullFileName to: pathString
"Unzip the contents of the file specified by the full path name fullFileName to
the location given by pathString."
| zipped buffer unzipped newName |
newName := fullFileName copyUpToLast: FileSystem disk extensionDelimiter.
pathString asFileReference ensureCreateDirectory.
unzipped := FileStream newFileNamed: (pathString asFileReference / newName)
fullName.
unzipped ifNil: [self error: pathString, ' looks incorrect'].
[ unzipped binary.
zipped := self on: (FileStream readOnlyFileNamed: fullFileName).
buffer := ByteArray new: 50000.
[zipped atEnd] whileFalse: [unzipped nextPutAll: (zipped nextInto: buffer)]]
ensure: [
zipped close.
unzipped close].
^ newName
Am I correct to think that the comments are not really good enough?
Stef
--
www.tudorgirba.com
www.feenk.com
"We can create beautiful models in a vacuum.
But, to get them effective we have to deal with the inconvenience of reality."