summaryrefslogtreecommitdiff
path: root/Utility/Directory.hs
diff options
context:
space:
mode:
Diffstat (limited to 'Utility/Directory.hs')
-rw-r--r--Utility/Directory.hs13
1 files changed, 6 insertions, 7 deletions
diff --git a/Utility/Directory.hs b/Utility/Directory.hs
index 7f8822fca..249ed6935 100644
--- a/Utility/Directory.hs
+++ b/Utility/Directory.hs
@@ -11,6 +11,7 @@ import System.IO.Error
import System.Posix.Files
import System.Directory
import Control.Exception (throw)
+import Control.Monad
import Utility.SafeCommand
import Utility.Conditional
@@ -37,13 +38,11 @@ moveFile src dest = try (rename src dest) >>= onrename
mv tmp _ = do
ok <- boolSystem "mv" [Param "-f",
Param src, Param tmp]
- if ok
- then return ()
- else do
- -- delete any partial
- _ <- try $
- removeFile tmp
- rethrow
+ unless ok $ do
+ -- delete any partial
+ _ <- try $
+ removeFile tmp
+ rethrow
isdir f = do
r <- try (getFileStatus f)
case r of