Plan 9 from Bell Labs’s /usr/web/sources/contrib/fernan/nhc98/src/prelude/Directory/CreateDirectory.hs

Copyright © 2021 Plan 9 Foundation.
Distributed under the MIT License.
Download the Plan 9 distribution.


module Directory (createDirectory) where

import NHC.FFI
import Numeric (readOct)
import Monad   (when)

foreign import ccall mkdir :: PackedString -> Int -> IO Int

createDirectory :: FilePath -> IO ()
createDirectory fp = do
    val <- mkdir (toCString fp) (octal "0755")
    when (val == -1)
         (do errno <- getErrNo
             throwIOError "createDirectory" (Just fp) Nothing errno)


octal :: String -> Int
octal s = case readOct s of
            [(num,"")] -> num
            _          -> 0

Bell Labs OSI certified Powered by Plan 9

(Return to Plan 9 Home Page)

Copyright © 2021 Plan 9 Foundation. All Rights Reserved.
Comments to webmaster@9p.io.