rawfilepath-0.2.0: src/RawFilePath/Directory/Internal.hs
module RawFilePath.Directory.Internal where
import RawFilePath.Import
import qualified System.Posix.ByteString as U
ioeAddLocation :: IOError -> String -> IOError
ioeAddLocation e loc = ioeSetLocation e newLoc
where
newLoc = loc <> if null oldLoc then "" else ":" <> oldLoc
oldLoc = ioeGetLocation e
data FileType
= File
| SymbolicLink
| Directory
| DirectoryLink
deriving (Bounded, Enum, Eq, Ord, Read, Show)
fileTypeFromMetadata :: U.FileStatus -> FileType
fileTypeFromMetadata stat
| U.isSymbolicLink stat = SymbolicLink
| U.isDirectory stat = Directory
| otherwise = File