Skip to content

Commit efca21c

Browse files
committed
feat: I/O safety for 'sys/statfs'
1 parent e2257db commit efca21c

File tree

1 file changed

+3
-3
lines changed

1 file changed

+3
-3
lines changed

src/sys/statfs.rs

+3-3
Original file line numberDiff line numberDiff line change
@@ -5,7 +5,7 @@
55
use std::ffi::CStr;
66
use std::fmt::{self, Debug};
77
use std::mem;
8-
use std::os::unix::io::AsRawFd;
8+
use std::os::unix::io::{AsFd, AsRawFd};
99

1010
use cfg_if::cfg_if;
1111

@@ -740,10 +740,10 @@ pub fn statfs<P: ?Sized + NixPath>(path: &P) -> Result<Statfs> {
740740
/// # Arguments
741741
///
742742
/// `fd` - File descriptor of any open file within the file system to describe
743-
pub fn fstatfs<T: AsRawFd>(fd: &T) -> Result<Statfs> {
743+
pub fn fstatfs<Fd: AsFd>(fd: &Fd) -> Result<Statfs> {
744744
unsafe {
745745
let mut stat = mem::MaybeUninit::<type_of_statfs>::uninit();
746-
Errno::result(LIBC_FSTATFS(fd.as_raw_fd(), stat.as_mut_ptr()))
746+
Errno::result(LIBC_FSTATFS(fd.as_fd().as_raw_fd(), stat.as_mut_ptr()))
747747
.map(|_| Statfs(stat.assume_init()))
748748
}
749749
}

0 commit comments

Comments
 (0)