From 1ea38f8928a017ce544faf9d025853211dbce49c Mon Sep 17 00:00:00 2001 From: Josh Stone Date: Sun, 14 Feb 2016 16:09:57 -0800 Subject: [PATCH] std: use LFS ftruncate64 on Linux --- src/libstd/sys/unix/fs.rs | 7 ++++--- 1 file changed, 4 insertions(+), 3 deletions(-) diff --git a/src/libstd/sys/unix/fs.rs b/src/libstd/sys/unix/fs.rs index 14f30a625766..55667aced5e1 100644 --- a/src/libstd/sys/unix/fs.rs +++ b/src/libstd/sys/unix/fs.rs @@ -26,9 +26,10 @@ use sys::{cvt, cvt_r}; use sys_common::{AsInner, FromInner}; #[cfg(target_os = "linux")] -use libc::{stat64, fstat64, lstat64}; +use libc::{stat64, fstat64, lstat64, off64_t, ftruncate64}; #[cfg(not(target_os = "linux"))] -use libc::{stat as stat64, fstat as fstat64, lstat as lstat64}; +use libc::{stat as stat64, fstat as fstat64, lstat as lstat64, off_t as off64_t, + ftruncate as ftruncate64}; pub struct File(FileDesc); @@ -443,7 +444,7 @@ impl File { pub fn truncate(&self, size: u64) -> io::Result<()> { try!(cvt_r(|| unsafe { - libc::ftruncate(self.0.raw(), size as libc::off_t) + ftruncate64(self.0.raw(), size as off64_t) })); Ok(()) }