From ec0047c864bfff5affc92650349d6125312280f4 Mon Sep 17 00:00:00 2001 From: Jeremy Soller Date: Wed, 23 Mar 2022 13:47:58 -0600 Subject: [PATCH] Fix redox readlink --- src/platform/redox/mod.rs | 20 ++------------------ 1 file changed, 2 insertions(+), 18 deletions(-) diff --git a/src/platform/redox/mod.rs b/src/platform/redox/mod.rs index 4a22717523..1028478d46 100644 --- a/src/platform/redox/mod.rs +++ b/src/platform/redox/mod.rs @@ -894,26 +894,10 @@ impl Pal for Sys { } fn readlink(pathname: &CStr, out: &mut [u8]) -> ssize_t { - let file = match File::open( - pathname, - fcntl::O_PATH | fcntl::O_SYMLINK | fcntl::O_CLOEXEC, - ) { - Ok(ok) => ok, + match File::open(pathname, fcntl::O_RDONLY | fcntl::O_SYMLINK | fcntl::O_CLOEXEC) { + Ok(file) => Self::read(*file, out), Err(_) => return -1, - }; - - if out.is_empty() { - return 0; } - - let len = out.len(); - let read = e(syscall::fpath(*file as usize, &mut out[..len - 1])); - if (read as c_int) < 0 { - return -1; - } - out[read as usize] = 0; - - 0 } fn rename(oldpath: &CStr, newpath: &CStr) -> c_int {