X-Git-Url: http://repo.macrolet.net/gitweb/?a=blobdiff_plain;f=src%2Fruntime%2Fwrap.c;h=1fad2d79f1b5b63caf136af2cbbddd551d0adb69;hb=119d1c157e519573074720b7897a9fa918329ac5;hp=f0e5746363a14dd17d473b393acea2fd1280477f;hpb=46e428110e302636b345928f6f052b8a282c64fa;p=sbcl.git diff --git a/src/runtime/wrap.c b/src/runtime/wrap.c index f0e5746..1fad2d7 100644 --- a/src/runtime/wrap.c +++ b/src/runtime/wrap.c @@ -173,11 +173,20 @@ typedef off_t ffi_off_t; #elif defined(LISP_FEATURE_MIPS) typedef unsigned long ffi_dev_t; /* Linux/MIPS struct stat doesn't use dev_t */ typedef off_t ffi_off_t; +#elif defined(LISP_FEATURE_DARWIN) +typedef dev_t ffi_dev_t; +typedef off_t ffi_off_t; #else typedef u32 ffi_dev_t; /* since Linux dev_t can be 64 bits */ typedef u32 ffi_off_t; /* since OpenBSD 2.8 st_size is 64 bits */ #endif +#ifdef LISP_FEATURE_OS_PROVIDES_BLKSIZE_T +typedef blksize_t ffi_blksize_t; +#else +typedef unsigned long ffi_blksize_t; +#endif + /* a representation of stat(2) results which doesn't depend on CPU or OS */ struct stat_wrapper { /* KLUDGE: The verbose wrapped_st_ prefixes are to protect us from @@ -204,7 +213,7 @@ struct stat_wrapper { #endif ffi_dev_t wrapped_st_rdev; /* device type (if inode device) */ ffi_off_t wrapped_st_size; /* total size, in bytes */ - unsigned long wrapped_st_blksize; /* blocksize for filesystem I/O */ + ffi_blksize_t wrapped_st_blksize; /* blocksize for filesystem I/O */ unsigned long wrapped_st_blocks; /* number of blocks allocated */ time_t wrapped_st_atime; /* time_t of last access */ time_t wrapped_st_mtime; /* time_t of last modification */