Function nc::readlink[][src]

pub fn readlink<P: AsRef<Path>>(
    filename: P,
    buf: &mut [u8],
    buf_len: size_t
) -> Result<ssize_t, Errno>
Expand description

Read value of a symbolic link.

let oldname = "/etc/passwd";
let newname = "/tmp/nc-readlink";
let ret = nc::symlink(oldname, newname);
assert!(ret.is_ok());
let mut buf = [0_u8; nc::PATH_MAX as usize];
let buf_len = buf.len();
let ret = nc::readlink(newname, &mut buf, buf_len);
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());