Skip to content

Commit ff453e5

Browse files
committed
reuse mknod/umask from libc
1 parent 0eef651 commit ff453e5

File tree

1 file changed

+5
-15
lines changed

1 file changed

+5
-15
lines changed

src/sys/stat.rs

Lines changed: 5 additions & 15 deletions
Original file line numberDiff line numberDiff line change
@@ -6,16 +6,6 @@ use libc::{self, mode_t};
66
use std::mem;
77
use std::os::unix::io::RawFd;
88

9-
mod ffi {
10-
use libc::{c_char, c_int, mode_t, dev_t};
11-
pub use libc::{stat, fstat, lstat};
12-
13-
extern {
14-
pub fn mknod(pathname: *const c_char, mode: mode_t, dev: dev_t) -> c_int;
15-
pub fn umask(mask: mode_t) -> mode_t;
16-
}
17-
}
18-
199
libc_bitflags!(
2010
pub flags SFlag: mode_t {
2111
S_IFIFO,
@@ -55,7 +45,7 @@ bitflags! {
5545
pub fn mknod<P: ?Sized + NixPath>(path: &P, kind: SFlag, perm: Mode, dev: dev_t) -> Result<()> {
5646
let res = try!(path.with_nix_path(|cstr| {
5747
unsafe {
58-
ffi::mknod(cstr.as_ptr(), kind.bits | perm.bits() as mode_t, dev)
48+
libc::mknod(cstr.as_ptr(), kind.bits | perm.bits() as mode_t, dev)
5949
}
6050
}));
6151

@@ -83,15 +73,15 @@ pub fn makedev(major: u64, minor: u64) -> dev_t {
8373
}
8474

8575
pub fn umask(mode: Mode) -> Mode {
86-
let prev = unsafe { ffi::umask(mode.bits() as mode_t) };
76+
let prev = unsafe { libc::umask(mode.bits() as mode_t) };
8777
Mode::from_bits(prev).expect("[BUG] umask returned invalid Mode")
8878
}
8979

9080
pub fn stat<P: ?Sized + NixPath>(path: &P) -> Result<FileStat> {
9181
let mut dst = unsafe { mem::uninitialized() };
9282
let res = try!(path.with_nix_path(|cstr| {
9383
unsafe {
94-
ffi::stat(cstr.as_ptr(), &mut dst as *mut FileStat)
84+
libc::stat(cstr.as_ptr(), &mut dst as *mut FileStat)
9585
}
9686
}));
9787

@@ -104,7 +94,7 @@ pub fn lstat<P: ?Sized + NixPath>(path: &P) -> Result<FileStat> {
10494
let mut dst = unsafe { mem::uninitialized() };
10595
let res = try!(path.with_nix_path(|cstr| {
10696
unsafe {
107-
ffi::lstat(cstr.as_ptr(), &mut dst as *mut FileStat)
97+
libc::lstat(cstr.as_ptr(), &mut dst as *mut FileStat)
10898
}
10999
}));
110100

@@ -115,7 +105,7 @@ pub fn lstat<P: ?Sized + NixPath>(path: &P) -> Result<FileStat> {
115105

116106
pub fn fstat(fd: RawFd) -> Result<FileStat> {
117107
let mut dst = unsafe { mem::uninitialized() };
118-
let res = unsafe { ffi::fstat(fd, &mut dst as *mut FileStat) };
108+
let res = unsafe { libc::fstat(fd, &mut dst as *mut FileStat) };
119109

120110
try!(Errno::result(res));
121111

0 commit comments

Comments
 (0)