about summary refs log tree commit diff
path: root/src/libstd
diff options
context:
space:
mode:
authorJosh Stone <jistone@redhat.com>2018-06-25 11:42:27 -0700
committerJosh Stone <jistone@redhat.com>2018-06-25 11:42:27 -0700
commit65d31d726940fe87f95f497323de7473da51f229 (patch)
tree2db48ce79f98c9bc0c476b2088f096b99e21d346 /src/libstd
parent8acec1f9d0b40dde142e6c26d7358b9ab232d2b4 (diff)
downloadrust-65d31d726940fe87f95f497323de7473da51f229.tar.gz
rust-65d31d726940fe87f95f497323de7473da51f229.zip
Use fstatat64 where available
Diffstat (limited to 'src/libstd')
-rw-r--r--src/libstd/sys/unix/fs.rs11
1 files changed, 5 insertions, 6 deletions
diff --git a/src/libstd/sys/unix/fs.rs b/src/libstd/sys/unix/fs.rs
index 774340388e1..6949e22c58f 100644
--- a/src/libstd/sys/unix/fs.rs
+++ b/src/libstd/sys/unix/fs.rs
@@ -25,10 +25,12 @@ use sys_common::{AsInner, FromInner};
 
 #[cfg(any(target_os = "linux", target_os = "emscripten", target_os = "l4re"))]
 use libc::{stat64, fstat64, lstat64, off64_t, ftruncate64, lseek64, dirent64, readdir64_r, open64};
+#[cfg(any(target_os = "linux", target_os = "emscripten"))]
+use libc::fstatat64;
 #[cfg(any(target_os = "linux", target_os = "emscripten", target_os = "android"))]
-use libc::{fstatat, dirfd};
+use libc::dirfd;
 #[cfg(target_os = "android")]
-use libc::{stat as stat64, fstat as fstat64, lstat as lstat64, lseek64,
+use libc::{stat as stat64, fstat as fstat64, fstatat as fstatat64, lstat as lstat64, lseek64,
            dirent as dirent64, open as open64};
 #[cfg(not(any(target_os = "linux",
               target_os = "emscripten",
@@ -299,10 +301,7 @@ impl DirEntry {
         let fd = cvt(unsafe {dirfd(self.dir.0.dirp.0)})?;
         let mut stat: stat64 = unsafe { mem::zeroed() };
         cvt(unsafe {
-            fstatat(fd,
-                    self.entry.d_name.as_ptr(),
-                    &mut stat as *mut _ as *mut _,
-                    libc::AT_SYMLINK_NOFOLLOW)
+            fstatat64(fd, self.entry.d_name.as_ptr(), &mut stat, libc::AT_SYMLINK_NOFOLLOW)
         })?;
         Ok(FileAttr { stat: stat })
     }