Hi all,

The following code creates a symbolic link in the current directory
and then uses System.Posix.Files.getFileStatus to get the status of
the link.

However, isDirectory returns True and isSymbolicLink returns False
which is very different from what the stat() system call on a POSIX
system would return. I consider this a bug.

I'm using ghc-6.8.2. Has this been fixed in a later version?

Cheers,
Erik


module Main where

import qualified System.Directory
import qualified System.Posix.Files

main :: IO ()
main = do
        let linkName = "tmp-link"
        cwd <- System.Directory.getCurrentDirectory
        System.Posix.Files.createSymbolicLink "/tmp" linkName
        stat <- System.Posix.Files.getFileStatus linkName
        if System.Posix.Files.isDirectory stat
                then putStrLn "Is a directory?????"
                else putStrLn "Not a directory."
        if System.Posix.Files.isSymbolicLink stat
                then putStrLn "Is a symlink"
                else putStrLn "Not a symlink?????"



-- 
-----------------------------------------------------------------
Erik de Castro Lopo
-----------------------------------------------------------------
"Anyone who considers arithmetical methods of producing random
digits is, of course, in a state of sin." - John Von Neumann (1951)
_______________________________________________
Haskell-Cafe mailing list
[email protected]
http://www.haskell.org/mailman/listinfo/haskell-cafe

Reply via email to