Make createRegularFile and createDir accept FileMode parameter

This commit is contained in:
Julian Ospald 2016-06-05 17:46:25 +02:00
parent 16af98b32d
commit 92017ab630
No known key found for this signature in database
GPG Key ID: 511B62C09D50CD28
2 changed files with 9 additions and 9 deletions

View File

@ -661,9 +661,9 @@ executeFile fp args
--
-- - `PermissionDenied` if output directory cannot be written to
-- - `AlreadyExists` if destination file already exists
createRegularFile :: Path Abs -> IO ()
createRegularFile dest =
bracket (SPI.openFd (fromAbs dest) SPI.WriteOnly (Just newFilePerms)
createRegularFile :: FileMode -> Path Abs -> IO ()
createRegularFile fm dest =
bracket (SPI.openFd (fromAbs dest) SPI.WriteOnly (Just fm)
(SPI.defaultFileFlags { exclusive = True }))
SPI.closeFd
(\_ -> return ())
@ -675,8 +675,8 @@ createRegularFile dest =
--
-- - `PermissionDenied` if output directory cannot be written to
-- - `AlreadyExists` if destination directory already exists
createDir :: Path Abs -> IO ()
createDir dest = createDirectory (fromAbs dest) newDirPerms
createDir :: FileMode -> Path Abs -> IO ()
createDir fm dest = createDirectory (fromAbs dest) fm
-- |Create a symlink.

View File

@ -86,7 +86,7 @@ createTmpDir :: IO ()
createTmpDir = do
pwd <- fromJust <$> getEnv "PWD" >>= P.parseAbs
tmp <- P.parseRel =<< readIORef tmpDir
void $ createDir (pwd P.</> tmp)
void $ createDir newDirPerms (pwd P.</> tmp)
deleteTmpDir :: IO ()
@ -102,7 +102,7 @@ createBaseTmpDir :: IO ()
createBaseTmpDir = do
pwd <- fromJust <$> getEnv "PWD" >>= P.parseAbs
tmp <- P.parseRel baseTmpDir
void $ createDir (pwd P.</> tmp)
void $ createDir newDirPerms (pwd P.</> tmp)
deleteBaseTmpDir :: IO ()
@ -177,12 +177,12 @@ copyDirRecursive' inputDirP outputDirP cm rm =
createDir' :: ByteString -> IO ()
{-# NOINLINE createDir' #-}
createDir' dest = withTmpDir dest createDir
createDir' dest = withTmpDir dest (createDir newDirPerms)
createRegularFile' :: ByteString -> IO ()
{-# NOINLINE createRegularFile' #-}
createRegularFile' dest = withTmpDir dest createRegularFile
createRegularFile' dest = withTmpDir dest (createRegularFile newFilePerms)
createSymlink' :: ByteString -> ByteString -> IO ()