work around MissingH's absNormPath not working on Windows
This commit is contained in:
parent
2f3ce4c02f
commit
7a92a0f908
2 changed files with 19 additions and 3 deletions
1
Common.hs
Normal file → Executable file
1
Common.hs
Normal file → Executable file
|
@ -12,7 +12,6 @@ import Data.Maybe as X
|
||||||
import Data.List as X hiding (head, tail, init, last)
|
import Data.List as X hiding (head, tail, init, last)
|
||||||
import Data.String.Utils as X hiding (join)
|
import Data.String.Utils as X hiding (join)
|
||||||
|
|
||||||
import "MissingH" System.Path as X
|
|
||||||
import System.FilePath as X
|
import System.FilePath as X
|
||||||
import System.Directory as X
|
import System.Directory as X
|
||||||
import System.IO as X hiding (FilePath)
|
import System.IO as X hiding (FilePath)
|
||||||
|
|
|
@ -5,12 +5,12 @@
|
||||||
- Licensed under the GNU GPL version 3 or higher.
|
- Licensed under the GNU GPL version 3 or higher.
|
||||||
-}
|
-}
|
||||||
|
|
||||||
{-# LANGUAGE PackageImports #-}
|
{-# LANGUAGE PackageImports, CPP #-}
|
||||||
|
|
||||||
module Utility.Path where
|
module Utility.Path where
|
||||||
|
|
||||||
import Data.String.Utils
|
import Data.String.Utils
|
||||||
import "MissingH" System.Path
|
import qualified "MissingH" System.Path as MissingH
|
||||||
import System.FilePath
|
import System.FilePath
|
||||||
import System.Directory
|
import System.Directory
|
||||||
import Data.List
|
import Data.List
|
||||||
|
@ -20,6 +20,23 @@ import Control.Applicative
|
||||||
import Utility.Monad
|
import Utility.Monad
|
||||||
import Utility.UserInfo
|
import Utility.UserInfo
|
||||||
|
|
||||||
|
{- Makes a path absolute if it's not already.
|
||||||
|
- The first parameter is a base directory (ie, the cwd) to use if the path
|
||||||
|
- is not already absolute.
|
||||||
|
-
|
||||||
|
- On Unix, collapses and normalizes ".." etc in the path. May return Nothing
|
||||||
|
- if the path cannot be normalized.
|
||||||
|
-
|
||||||
|
- MissingH's absNormPath does not work on Windows, so on Windows
|
||||||
|
- no normalization is done.
|
||||||
|
-}
|
||||||
|
absNormPath :: FilePath -> FilePath -> Maybe FilePath
|
||||||
|
#ifndef __WINDOWS__
|
||||||
|
absNormPath dir path = MissingH.absNormPath dir path
|
||||||
|
#else
|
||||||
|
absNormPath dir path = Just $ combine dir path
|
||||||
|
#endif
|
||||||
|
|
||||||
{- Returns the parent directory of a path.
|
{- Returns the parent directory of a path.
|
||||||
-
|
-
|
||||||
- To allow this to be easily used in loops, which terminate upon reaching the
|
- To allow this to be easily used in loops, which terminate upon reaching the
|
||||||
|
|
Loading…
Reference in a new issue