cap_primitives/rustix/fs/
read_link_unchecked.rs1use rustix::fs::readlinkat;
2use std::ffi::OsString;
3#[cfg(unix)]
4use std::os::unix::ffi::OsStringExt;
5#[cfg(target_os = "wasi")]
6use std::os::wasi::ffi::OsStringExt;
7use std::path::{Path, PathBuf};
8use std::{fs, io};
9
10pub(crate) fn read_link_unchecked(
13 start: &fs::File,
14 path: &Path,
15 reuse: PathBuf,
16) -> io::Result<PathBuf> {
17 Ok(readlinkat(start, path, reuse.into_os_string().into_vec())
18 .map(|path| OsString::from_vec(path.into_bytes()).into())?)
19}