svn commit: r330091 - head/bin/ps

Mike Karels karels at FreeBSD.org
Wed Feb 28 00:17:09 UTC 2018


Author: karels
Date: Wed Feb 28 00:17:08 2018
New Revision: 330091
URL: https://svnweb.freebsd.org/changeset/base/330091

Log:
  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

Modified:
  head/bin/ps/ps.c

Modified: head/bin/ps/ps.c
==============================================================================
--- head/bin/ps/ps.c	Tue Feb 27 22:22:23 2018	(r330090)
+++ head/bin/ps/ps.c	Wed Feb 28 00:17:08 2018	(r330091)
@@ -194,10 +194,17 @@ main(int argc, char *argv[])
 	(void) setlocale(LC_ALL, "");
 	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')
 		termwidth = atoi(cols);
-	else if (!isatty(STDOUT_FILENO))
-		termwidth = UNLIMITED;
 	else if ((ioctl(STDOUT_FILENO, TIOCGWINSZ, (char *)&ws) == -1 &&
 	     ioctl(STDERR_FILENO, TIOCGWINSZ, (char *)&ws) == -1 &&
 	     ioctl(STDIN_FILENO,  TIOCGWINSZ, (char *)&ws) == -1) ||


More information about the svn-src-all mailing list