From b9c4c006bdc8f0317d0598f05b45e4fdc1102a6c Mon Sep 17 00:00:00 2001 From: Joey Hess Date: Wed, 23 Mar 2011 12:53:57 -0400 Subject: [PATCH] use statfs64 on apple, while retaining statfs on freebsd http://git-annex.branchable.com/bugs/Makefile_is_missing_dependancies/#comment-3196b43b7d745ab206435d0a69686815 indicates statfs64 works on apple. Probably on freebsd too, but I have not tested it and so will stick with the old code there. --- StatFS.hsc | 6 +++++- 1 file changed, 5 insertions(+), 1 deletion(-) diff --git a/StatFS.hsc b/StatFS.hsc index 8b453dc199..dd0c90bebd 100644 --- a/StatFS.hsc +++ b/StatFS.hsc @@ -53,7 +53,7 @@ import Foreign.C.String import Data.ByteString (useAsCString) import Data.ByteString.Char8 (pack) -#if defined (__FreeBSD__) +#if defined (__FreeBSD__) || defined (__APPLE__) # include # include #else @@ -84,10 +84,14 @@ data CStatfs #ifdef UNKNOWN #warning free space checking code not available for this OS #else +#if defined(__APPLE__) +foreign import ccall unsafe "sys/mount.h statfs64" +#else #if defined(__FreeBSD__) foreign import ccall unsafe "sys/mount.h statfs" #else foreign import ccall unsafe "sys/vfs.h statfs64" +#endif #endif c_statfs :: CString -> Ptr CStatfs -> IO CInt #endif