2 Commits
0.5.4 ... 0.5.5

Author SHA1 Message Date
Chris Done
47450b5dd6 Bump to 0.5.5 2016-03-04 14:50:28 +01:00
Chris Done
540c24f3a5 Use FilePath.isValid (#12) 2016-03-04 14:49:21 +01:00
3 changed files with 11 additions and 5 deletions

View File

@@ -1,3 +1,5 @@
0.5.5:
* Use filepath's isValid function for additional sanity checks
0.5.4: 0.5.4:
* Disable parsing of path consisting only of "." * Disable parsing of path consisting only of "."
* Add NFData instance for Path * Add NFData instance for Path

View File

@@ -1,5 +1,5 @@
name: path name: path
version: 0.5.4 version: 0.5.5
synopsis: Support for well-typed paths synopsis: Support for well-typed paths
description: Support for will-typed paths. description: Support for will-typed paths.
license: BSD3 license: BSD3

View File

@@ -97,7 +97,8 @@ parseAbsDir filepath =
if FilePath.isAbsolute filepath && if FilePath.isAbsolute filepath &&
not (null (normalizeDir filepath)) && not (null (normalizeDir filepath)) &&
not ("~/" `isPrefixOf` filepath) && not ("~/" `isPrefixOf` filepath) &&
not (hasParentDir filepath) not (hasParentDir filepath) &&
FilePath.isValid filepath
then return (Path (normalizeDir filepath)) then return (Path (normalizeDir filepath))
else throwM (InvalidAbsDir filepath) else throwM (InvalidAbsDir filepath)
@@ -116,7 +117,8 @@ parseRelDir filepath =
not ("~/" `isPrefixOf` filepath) && not ("~/" `isPrefixOf` filepath) &&
not (hasParentDir filepath) && not (hasParentDir filepath) &&
not (null (normalizeDir filepath)) && not (null (normalizeDir filepath)) &&
not (all (=='.') filepath) not (all (== '.') filepath) &&
FilePath.isValid filepath
then return (Path (normalizeDir filepath)) then return (Path (normalizeDir filepath))
else throwM (InvalidRelDir filepath) else throwM (InvalidRelDir filepath)
@@ -132,7 +134,8 @@ parseAbsFile filepath =
not ("~/" `isPrefixOf` filepath) && not ("~/" `isPrefixOf` filepath) &&
not (hasParentDir filepath) && not (hasParentDir filepath) &&
not (null (normalizeFile filepath)) && not (null (normalizeFile filepath)) &&
not (all (=='.') filepath) not (all (== '.') filepath) &&
FilePath.isValid filepath
then return (Path (normalizeFile filepath)) then return (Path (normalizeFile filepath))
else throwM (InvalidAbsFile filepath) else throwM (InvalidAbsFile filepath)
@@ -151,7 +154,8 @@ parseRelFile filepath =
not ("~/" `isPrefixOf` filepath) && not ("~/" `isPrefixOf` filepath) &&
not (hasParentDir filepath) && not (hasParentDir filepath) &&
not (null (normalizeFile filepath)) && not (null (normalizeFile filepath)) &&
not (all (=='.') filepath) not (all (== '.') filepath) &&
FilePath.isValid filepath
then return (Path (normalizeFile filepath)) then return (Path (normalizeFile filepath))
else throwM (InvalidRelFile filepath) else throwM (InvalidRelFile filepath)