From 521317be5ebc228a0f0ede099fa2a0b5ece22e49 Mon Sep 17 00:00:00 2001 From: Okunev Yu Dmitry Date: Mon, 18 Mar 2019 14:38:44 +0200 Subject: [PATCH] Don't set Stdin/Stdout/Stderr if already set (#71) * only set stdout and stderr if not already set * Don't set cmd.Stdin if it's already set Considered @craek's codereview --- run.go | 12 +++++++++--- 1 file changed, 9 insertions(+), 3 deletions(-) diff --git a/run.go b/run.go index 2d7f961..56a26ad 100644 --- a/run.go +++ b/run.go @@ -33,9 +33,15 @@ func StartWithSize(c *exec.Cmd, sz *Winsize) (pty *os.File, err error) { return nil, err } } - c.Stdout = tty - c.Stdin = tty - c.Stderr = tty + if c.Stdout == nil { + c.Stdout = tty + } + if c.Stderr == nil { + c.Stderr = tty + } + if c.Stdin == nil { + c.Stdin = tty + } if c.SysProcAttr == nil { c.SysProcAttr = &syscall.SysProcAttr{} }