diff options
-rw-r--r-- | examples/basic.rs | 2 | ||||
-rw-r--r-- | src/command.rs | 8 | ||||
-rw-r--r-- | src/pty.rs | 6 |
3 files changed, 10 insertions, 6 deletions
diff --git a/examples/basic.rs b/examples/basic.rs index 2f71bb4..15cc137 100644 --- a/examples/basic.rs +++ b/examples/basic.rs @@ -10,7 +10,7 @@ fn main() { "-E", "my @size = GetTerminalSize; say for @size", ]) - .spawn_pty(Some(pty_process::Size::new(24, 80))) + .spawn_pty(Some(&pty_process::Size::new(24, 80))) .unwrap(); let mut buf = [0_u8; 4096]; let pty = child.pty().as_raw_fd(); diff --git a/src/command.rs b/src/command.rs index f5357d2..10de48e 100644 --- a/src/command.rs +++ b/src/command.rs @@ -4,11 +4,15 @@ use std::os::unix::io::{AsRawFd as _, FromRawFd as _}; use std::os::unix::process::CommandExt as _; pub trait Command { - fn spawn_pty(&mut self, size: Option<crate::pty::Size>) -> Result<Child>; + fn spawn_pty(&mut self, size: Option<&crate::pty::Size>) + -> Result<Child>; } impl Command for std::process::Command { - fn spawn_pty(&mut self, size: Option<crate::pty::Size>) -> Result<Child> { + fn spawn_pty( + &mut self, + size: Option<&crate::pty::Size>, + ) -> Result<Child> { let pty = crate::pty::Pty::new()?; let pts = pty.pts(size)?; @@ -34,8 +34,8 @@ impl Size { } } -impl From<Size> for nix::pty::Winsize { - fn from(size: Size) -> Self { +impl From<&Size> for nix::pty::Winsize { + fn from(size: &Size) -> Self { Self { ws_row: size.row, ws_col: size.col, @@ -78,7 +78,7 @@ impl Pty { &self.pt } - pub fn pts(&self, size: Option<Size>) -> Result<std::fs::File> { + pub fn pts(&self, size: Option<&Size>) -> Result<std::fs::File> { let fh = std::fs::OpenOptions::new() .read(true) .write(true) |