Revert r314685 in ps

Revert r314685, and add a comment describing the original
behavior and the intent.

Reviewed by:	dab@ vangyzen@ jhb@
Differential Revision:	https://reviews.freebsd.org/D14530
This commit is contained in:
karels 2018-02-28 00:17:08 +00:00
parent 36ecc25046
commit a58da60ef1

View File

@ -194,10 +194,17 @@ main(int argc, char *argv[])
(void) setlocale(LC_ALL, ""); (void) setlocale(LC_ALL, "");
time(&now); /* Used by routines in print.c. */ time(&now); /* Used by routines in print.c. */
/*
* Compute default output line length before processing options.
* If COLUMNS is set, use it. Otherwise, if this is part of an
* interactive job (i.e. one associated with a terminal), use
* the terminal width. "Interactive" is determined by whether
* any of stdout, stderr, or stdin is a terminal. The intent
* is that "ps", "ps | more", and "ps | grep" all use the same
* default line length unless -w is specified.
*/
if ((cols = getenv("COLUMNS")) != NULL && *cols != '\0') if ((cols = getenv("COLUMNS")) != NULL && *cols != '\0')
termwidth = atoi(cols); termwidth = atoi(cols);
else if (!isatty(STDOUT_FILENO))
termwidth = UNLIMITED;
else if ((ioctl(STDOUT_FILENO, TIOCGWINSZ, (char *)&ws) == -1 && else if ((ioctl(STDOUT_FILENO, TIOCGWINSZ, (char *)&ws) == -1 &&
ioctl(STDERR_FILENO, TIOCGWINSZ, (char *)&ws) == -1 && ioctl(STDERR_FILENO, TIOCGWINSZ, (char *)&ws) == -1 &&
ioctl(STDIN_FILENO, TIOCGWINSZ, (char *)&ws) == -1) || ioctl(STDIN_FILENO, TIOCGWINSZ, (char *)&ws) == -1) ||