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) ||
_______________________________________________
svn-src-all@freebsd.org mailing list
https://lists.freebsd.org/mailman/listinfo/svn-src-all
To unsubscribe, send any mail to "svn-src-all-unsubscr...@freebsd.org"

Reply via email to