From 49ed986b79e530a1f5e424a04ce732e70077507f Mon Sep 17 00:00:00 2001 From: Scott Lamb Date: Tue, 16 Mar 2021 10:47:18 -0700 Subject: cleanup: remove redundant unwrap in Dir::from_fd --- src/dir.rs | 10 ++++------ 1 file changed, 4 insertions(+), 6 deletions(-) diff --git a/src/dir.rs b/src/dir.rs index 7d4ab82f..e3f0098e 100644 --- a/src/dir.rs +++ b/src/dir.rs @@ -53,14 +53,12 @@ impl Dir { /// Converts from a file descriptor, closing it on success or failure. pub fn from_fd(fd: RawFd) -> Result { - let d = unsafe { libc::fdopendir(fd) }; - if d.is_null() { + let d = ptr::NonNull::new(unsafe { libc::fdopendir(fd) }).ok_or_else(|| { let e = Error::last(); unsafe { libc::close(fd) }; - return Err(e); - }; - // Always guaranteed to be non-null by the previous check - Ok(Dir(ptr::NonNull::new(d).unwrap())) + e + })?; + Ok(Dir(d)) } /// Returns an iterator of `Result` which rewinds when finished. -- cgit v1.2.3