Browse Source

Make createRegularFile and createDir accept FileMode parameter

tags/0.8.0
Julian Ospald 7 years ago
parent
commit
92017ab630
No known key found for this signature in database GPG Key ID: 511B62C09D50CD28
2 changed files with 9 additions and 9 deletions
  1. +5
    -5
      src/HPath/IO.hs
  2. +4
    -4
      test/Utils.hs

+ 5
- 5
src/HPath/IO.hs 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.


+ 4
- 4
test/Utils.hs 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 ()


Loading…
Cancel
Save