Function nc::readlinkat[][src]

pub fn readlinkat(
    dirfd: i32,
    filename: &str,
    buf: &mut [u8]
) -> Result<ssize_t, Errno>
Expand description

Read value of a symbolic link.

let oldname = "/etc/passwd";
let newname = "/tmp/nc-readlinkat";
let ret = nc::symlink(oldname, newname);
assert!(ret.is_ok());
let mut buf = [0_u8; nc::PATH_MAX as usize];
let ret = nc::readlinkat(nc::AT_FDCWD, newname, &mut buf);
assert!(ret.is_ok());
let n_read = ret.unwrap() as usize;
assert_eq!(n_read, oldname.len());
assert_eq!(oldname.as_bytes(), &buf[0..n_read]);
assert!(nc::unlink(newname).is_ok());