[project @ 2001-04-02 16:10:32 by rrt]
[ghc-hetmet.git] / ghc / lib / std / cbits / fileSize.c
index 93e2698..02ad1d4 100644 (file)
@@ -1,7 +1,7 @@
 /* 
  * (c) The GRASP/AQUA Project, Glasgow University, 1994-1998
  *
- * $Id: fileSize.c,v 1.3 1998/12/02 13:27:30 simonm Exp $
+ * $Id: fileSize.c,v 1.7 2001/04/02 16:10:32 rrt Exp $
  *
  * hClose Runtime Support
  */
@@ -18,9 +18,7 @@
 #endif
   
 StgInt
-fileSize(ptr, result)
-StgForeignPtr ptr;
-StgByteArray result;
+fileSize(StgForeignPtr ptr, StgByteArray result)
 {
     IOFileObject* fo = (IOFileObject*)ptr;
     struct stat sb;
@@ -40,7 +38,11 @@ StgByteArray result;
     }
     if (S_ISREG(sb.st_mode)) {
        /* result will be word aligned */
+#if defined( macosx_TARGET_OS )
+       *(W_ *) result = (W_)sb.st_size;
+#else
        *(off_t *) result = sb.st_size;
+#endif
        return 0;
     } else {
        ghc_errtype = ERR_INAPPROPRIATETYPE;
@@ -50,9 +52,7 @@ StgByteArray result;
 }
 
 StgInt
-fileSize_int64(ptr, result)
-StgForeignPtr ptr;
-StgByteArray result;
+fileSize_int64(StgForeignPtr ptr, StgByteArray result)
 {
     IOFileObject* fo = (IOFileObject*)ptr;
     struct stat sb;