From 2d3e62e97d1dc80594bdb302426cc226c6a9735c Mon Sep 17 00:00:00 2001 From: Jesse Luehrs Date: Fri, 17 Jul 2020 03:05:04 -0400 Subject: move some more code out of unsafe --- src/command.rs | 9 ++++----- src/pty.rs | 10 +++------- 2 files changed, 7 insertions(+), 12 deletions(-) diff --git a/src/command.rs b/src/command.rs index 3c46739..4f8f808 100644 --- a/src/command.rs +++ b/src/command.rs @@ -110,11 +110,10 @@ nix::ioctl_write_ptr_bad!( libc::c_int ); -fn set_controlling_terminal(fh: &std::fs::File) -> nix::Result<()> { +fn set_controlling_terminal(file: &std::fs::File) -> nix::Result<()> { + let fd = file.as_raw_fd(); // safe because std::fs::File is required to contain a valid file // descriptor - unsafe { - set_controlling_terminal_unsafe(fh.as_raw_fd(), std::ptr::null()) - } - .map(|_| ()) + unsafe { set_controlling_terminal_unsafe(fd, std::ptr::null()) } + .map(|_| ()) } diff --git a/src/pty.rs b/src/pty.rs index 91e6f8c..ad4dfcf 100644 --- a/src/pty.rs +++ b/src/pty.rs @@ -100,15 +100,11 @@ nix::ioctl_write_ptr_bad!( fn set_term_size(file: &std::fs::File, size: &Size) -> nix::Result<()> { let size = size.into(); + let fd = file.as_raw_fd(); // safe because std::fs::File is required to contain a valid file // descriptor and size is guaranteed to be initialized because it's a // normal rust value, and nix::pty::Winsize is a repr(C) struct with the // same layout as `struct winsize` from sys/ioctl.h. - unsafe { - set_term_size_unsafe( - file.as_raw_fd(), - &size as *const nix::pty::Winsize, - ) - } - .map(|_| ()) + unsafe { set_term_size_unsafe(fd, &size as *const nix::pty::Winsize) } + .map(|_| ()) } -- cgit v1.2.3-54-g00ecf