svn commit: r189739 - head/usr.sbin/gstat

Maxim Konovalov maxim at FreeBSD.org
Thu Mar 12 06:17:47 PDT 2009


Author: maxim
Date: Thu Mar 12 13:17:46 2009
New Revision: 189739
URL: http://svn.freebsd.org/changeset/base/189739

Log:
  o Turn the batch mode on if stdout is not tty.
  
  Submitted by:	vsevolod
  MFC after:	1 week

Modified:
  head/usr.sbin/gstat/gstat.8
  head/usr.sbin/gstat/gstat.c

Modified: head/usr.sbin/gstat/gstat.8
==============================================================================
--- head/usr.sbin/gstat/gstat.8	Thu Mar 12 13:03:33 2009	(r189738)
+++ head/usr.sbin/gstat/gstat.8	Thu Mar 12 13:17:46 2009	(r189739)
@@ -24,7 +24,7 @@
 .\"
 .\" $FreeBSD$
 .\"
-.Dd May 20, 2006
+.Dd March 12, 2009
 .Dt GSTAT 8
 .Os
 .Sh NAME
@@ -47,7 +47,9 @@ The options are as follows:
 .It Fl a
 Only display providers that are at least 0.1% busy.
 .It Fl b
-Batch mode. Collect numbers, print and exit.
+Batch mode.
+Collect numbers, print and exit.
+Default if stdout is not a tty.
 .It Fl c
 Enable display of
 .Xr geom 4

Modified: head/usr.sbin/gstat/gstat.c
==============================================================================
--- head/usr.sbin/gstat/gstat.c	Thu Mar 12 13:03:33 2009	(r189738)
+++ head/usr.sbin/gstat/gstat.c	Thu Mar 12 13:17:46 2009	(r189739)
@@ -99,6 +99,10 @@ main(int argc, char **argv)
 	maxx = -1;
 	curx = -1;
 	loop = 1;
+	/* Turn on batch mode if output is not tty. */
+	if (!isatty(fileno(stdout)))
+		flag_b = 1;
+
 	f_s[0] = '\0';
 	while ((i = getopt(argc, argv, "adcf:I:b")) != -1) {
 		switch (i) {
@@ -318,9 +322,11 @@ main(int argc, char **argv)
 			if (!flag_b)
 				attron(COLOR_PAIR(i));
 			PRINTMSG(" %6.1lf", (double)ld[7]);
-			if (!flag_b)
+			if (!flag_b) {
 				attroff(COLOR_PAIR(i));
-			PRINTMSG("|");
+				PRINTMSG("|");
+			} else
+				PRINTMSG(" ");
 			if (gid == NULL) {
 				PRINTMSG(" ??");
 			} else if (gid->lg_what == ISPROVIDER) {


More information about the svn-src-all mailing list