fix more warnings on BSD/OSX
This commit is contained in:
parent
66cdc4d612
commit
7c511f900d
1 changed files with 19 additions and 15 deletions
|
@ -13,21 +13,6 @@ module Utility.Touch (
|
|||
touch
|
||||
) where
|
||||
|
||||
import Utility.FileSystemEncoding
|
||||
|
||||
import Foreign
|
||||
import Foreign.C
|
||||
import Control.Monad (when)
|
||||
|
||||
newtype TimeSpec = TimeSpec CTime
|
||||
|
||||
{- Changes the access and modification times of an existing file.
|
||||
Can follow symlinks, or not. Throws IO error on failure. -}
|
||||
touchBoth :: FilePath -> TimeSpec -> TimeSpec -> Bool -> IO ()
|
||||
|
||||
touch :: FilePath -> TimeSpec -> Bool -> IO ()
|
||||
touch file mtime = touchBoth file mtime mtime
|
||||
|
||||
#include <sys/types.h>
|
||||
#include <sys/stat.h>
|
||||
#include <fcntl.h>
|
||||
|
@ -38,6 +23,25 @@ touch file mtime = touchBoth file mtime mtime
|
|||
#endif
|
||||
|
||||
#if (defined UTIME_OMIT && defined UTIME_NOW && defined AT_FDCWD && defined AT_SYMLINK_NOFOLLOW)
|
||||
#define use_utimensat 1
|
||||
|
||||
import Utility.FileSystemEncoding
|
||||
|
||||
import Foreign
|
||||
import Foreign.C
|
||||
import Control.Monad (when)
|
||||
#endif
|
||||
|
||||
newtype TimeSpec = TimeSpec CTime
|
||||
|
||||
{- Changes the access and modification times of an existing file.
|
||||
Can follow symlinks, or not. Throws IO error on failure. -}
|
||||
touchBoth :: FilePath -> TimeSpec -> TimeSpec -> Bool -> IO ()
|
||||
|
||||
touch :: FilePath -> TimeSpec -> Bool -> IO ()
|
||||
touch file mtime = touchBoth file mtime mtime
|
||||
|
||||
#ifdef use_utimensat
|
||||
|
||||
at_fdcwd :: CInt
|
||||
at_fdcwd = #const AT_FDCWD
|
||||
|
|
Loading…
Add table
Reference in a new issue