* src/tty.c (main): All systems mention that isatty()
man return EINVAL as well as (the POSIX compliant) ENOTTY.
Also Centos 6 was seen to return EINVAL from ttyname().
* tests/misc/tty.sh: Fix a test issue where we assume
standard input is always a valid tty.
Reported by Assaf Gordon on OpenSolaris 5.10 and 5.11,
and Centos 6.5
if (silent)
return (isatty (STDIN_FILENO) ? EXIT_SUCCESS
- : errno == ENOTTY ? TTY_STDIN_NOTTY
+ : (errno == ENOTTY || errno == EINVAL) ? TTY_STDIN_NOTTY
: TTY_STDIN_ERROR);
int status = EXIT_SUCCESS;
if (! tty)
{
- if (errno != ENOTTY)
+ if (errno != ENOTTY && errno != EINVAL)
error (TTY_STDIN_ERROR, errno, _("standard input"));
tty = _("not a tty");
status = TTY_STDIN_NOTTY;
returns_ 2 tty -s a || fail=1
if test -w /dev/full && test -c /dev/full; then
- returns_ 3 tty >/dev/full || fail=1
+ if test -t 0; then
+ returns_ 3 tty >/dev/full || fail=1
+ fi
returns_ 3 tty </dev/null >/dev/full || fail=1
fi