Moved moved unix-related parts into terminal

This commit is contained in:
Andrey Tcherepanov 2019-03-26 14:53:49 -06:00
parent 7de3dd8c8b
commit 41ee4dd365
6 changed files with 28 additions and 27 deletions

View File

@ -0,0 +1,13 @@
// +build darwin dragonfly freebsd netbsd openbsd
package terminal
import "golang.org/x/sys/unix"
const ioctlReadTermios = unix.TIOCGETA
func IsTerminal(fd int) bool {
_, err := unix.IoctlGetTermios(fd, ioctlReadTermios)
return err == nil
}

View File

@ -0,0 +1,13 @@
// +build linux aix
package terminal
import "golang.org/x/sys/unix"
const ioctlReadTermios = unix.TCGETS
func IsTerminal(fd int) bool {
_, err := unix.IoctlGetTermios(fd, ioctlReadTermios)
return err == nil
}

View File

@ -1,9 +0,0 @@
// +build aix
package logrus
import (
"golang.org/x/sys/unix"
)
const ioctlReadTermios = unix.TCGETS

View File

@ -1,7 +0,0 @@
// +build darwin dragonfly freebsd netbsd openbsd
package logrus
import "golang.org/x/sys/unix"
const ioctlReadTermios = unix.TIOCGETA

View File

@ -1,7 +0,0 @@
// +build linux
package logrus
import "golang.org/x/sys/unix"
const ioctlReadTermios = unix.TCGETS

View File

@ -6,15 +6,13 @@ import (
"io"
"os"
"golang.org/x/sys/unix"
"github.com/sirupsen/logrus/internal/terminal"
)
func checkIfTerminal(w io.Writer) bool {
switch v := w.(type) {
case *os.File:
_, err := unix.IoctlGetTermios(int(v.Fd()), ioctlReadTermios)
return err == nil
return terminal.IsTerminal(int(v.Fd()))
default:
return false
}