Index: posixunix.scm =================================================================== --- posixunix.scm (revision 6562) +++ posixunix.scm (working copy) @@ -675,7 +675,7 @@ (define-foreign-variable _stat_st_dev unsigned-int "C_statbuf.st_dev") (define-foreign-variable _stat_st_rdev unsigned-int "C_statbuf.st_rdev") (define-foreign-variable _stat_st_blksize unsigned-int "C_statbuf.st_blksize") -(define-foreign-variable _stat_st_blocks unsigned-int "C_statbuf.st_rdev") +(define-foreign-variable _stat_st_blocks unsigned-int "C_statbuf.st_blocks") (define (##sys#stat file link loc) (let ([r (cond [(fixnum? file) (##core#inline "C_fstat" file)] @@ -700,7 +700,7 @@ _stat_st_dev _stat_st_rdev _stat_st_blksize _stat_st_blocks) ) -(define (file-size f) (##sys#stat f #f 'file-size) _stat_st_size) +(define (file-size f) (##sys#stat f #f 'file-size) (* 512 _stat_st_blocks)) ;; _stat_st_size overflows on huge files (define (file-modification-time f) (##sys#stat f #f 'file-modification-time) _stat_st_mtime) (define (file-access-time f) (##sys#stat f #f 'file-access-time) _stat_st_atime) (define (file-change-time f) (##sys#stat f #f 'file-change-time) _stat_st_ctime)