@@ -14,7 +14,7 @@ import Idris.CmdOptions
15import Control.Monad.State.Strict
15import Control.Monad.State.Strict
16import Control.Applicative
16import Control.Applicative
17−import System.FilePath (takeFileName)
17+import System.FilePath (takeFileName, isValid)
19import Util.System
19import Util.System
@@ -85,9 +85,11 @@ filename = (do
85 <?> "filename"
85 <?> "filename"
87 isValidFilename :: FilePath -> Bool
87 isValidFilename :: FilePath -> Bool
88+ isValidFilename path =
88− isValidFilename path = isNonEmpty && hasNoDirectoryComponent
89+ and [isNonEmpty, isValidPath, hasNoDirectoryComponent]
90 isNonEmpty = path /= ""
91 isNonEmpty = path /= ""
92+ isValidPath = System.FilePath.isValid path
91 hasNoDirectoryComponent = path == takeFileName path
93 hasNoDirectoryComponent = path == takeFileName path