[Haskell-cafe] Suggested additions to
System.FilePath.Posix/Windows
Brandon S. Allbery KF8NH
allbery at ece.cmu.edu
Sat Sep 19 14:43:24 EDT 2009
On Sep 19, 2009, at 07:45 , Duncan Coutts wrote:
> On Thu, 2009-09-17 at 11:58 +0200, Marcus D. Gabriel wrote:
>>> -- | 'reduceFilePath' returns a pathname that is reduced to
>>> canonical
>>> -- form equivalent to that of ksh(1), that is, symbolic link names
>>> are
>>> -- treated literally when finding the directory name. See @cd -L@
>>> of
>>> -- ksh(1). Specifically, extraneous separators @(\"/\")@, dot
>>> -- @(\".\")@, and double-dot @(\"..\")@ directories are removed.
>
> So it's like the existing System.Directory.canonicalizePath but it's
> pure and it does not do anything with symlinks. On the other hand
> because it's pure it can do something with non-local paths.
>
> Is there anything POSIX-specific about this? I don't see it.
It's making assumptions about the safety of eliding "..". (What does \
\machine\share\..\ do?) On the other hand that's also unsafe on POSIX
in the presence of symlinks. In general I consider path cleanup not
involving validation against the filesystem to be risky.
--
brandon s. allbery [solaris,freebsd,perl,pugs,haskell] allbery at kf8nh.com
system administrator [openafs,heimdal,too many hats] allbery at ece.cmu.edu
electrical and computer engineering, carnegie mellon university KF8NH
-------------- next part --------------
A non-text attachment was scrubbed...
Name: PGP.sig
Type: application/pgp-signature
Size: 195 bytes
Desc: This is a digitally signed message part
Url : http://www.haskell.org/pipermail/haskell-cafe/attachments/20090919/26123e19/PGP.bin
More information about the Haskell-Cafe
mailing list