diff options
author | Kevin Wern <kevin.m.wern@gmail.com> | 2019-06-09 21:10:10 -0400 |
---|---|---|
committer | Kevin Wern <kevin.m.wern@gmail.com> | 2019-06-15 23:13:20 -0400 |
commit | c00649152177ef9e6c9b647655eb676c766fe375 (patch) | |
tree | 6817c1f4d3121edd8d5f4e51875ec9c66eab55e5 /src/sys/stat.rs | |
parent | 582846e501c7de184351ddf4f22a143648e8c675 (diff) | |
download | nix-c00649152177ef9e6c9b647655eb676c766fe375.zip |
sys/stat: implement mkdirat
Diffstat (limited to 'src/sys/stat.rs')
-rw-r--r-- | src/sys/stat.rs | 8 |
1 files changed, 8 insertions, 0 deletions
diff --git a/src/sys/stat.rs b/src/sys/stat.rs index 1e0936ed..66c8c9dd 100644 --- a/src/sys/stat.rs +++ b/src/sys/stat.rs @@ -284,3 +284,11 @@ pub fn utimensat<P: ?Sized + NixPath>( Errno::result(res).map(drop) } + +pub fn mkdirat<P: ?Sized + NixPath>(fd: RawFd, path: &P, mode: Mode) -> Result<()> { + let res = path.with_nix_path(|cstr| { + unsafe { libc::mkdirat(fd, cstr.as_ptr(), mode.bits() as mode_t) } + })?; + + Errno::result(res).map(drop) +} |