Skip site navigation (1)Skip section navigation (2)
Date:      Mon, 28 Mar 2016 16:21:45 +0000 (UTC)
From:      Bryan Drewery <bdrewery@FreeBSD.org>
To:        src-committers@freebsd.org, svn-src-all@freebsd.org, svn-src-stable@freebsd.org, svn-src-stable-10@freebsd.org
Subject:   svn commit: r297352 - stable/10/usr.bin/script
Message-ID:  <201603281621.u2SGLjgh028359@repo.freebsd.org>

next in thread | raw e-mail | index | archive | help
Author: bdrewery
Date: Mon Mar 28 16:21:45 2016
New Revision: 297352
URL: https://svnweb.freebsd.org/changeset/base/297352

Log:
  MFC r296526:
  
    Record command exit status in the typescript file when running simple
    commands.
  
  Relnotes:	yes

Modified:
  stable/10/usr.bin/script/script.c
Directory Properties:
  stable/10/   (props changed)

Modified: stable/10/usr.bin/script/script.c
==============================================================================
--- stable/10/usr.bin/script/script.c	Mon Mar 28 15:05:00 2016	(r297351)
+++ stable/10/usr.bin/script/script.c	Mon Mar 28 16:21:45 2016	(r297352)
@@ -74,7 +74,7 @@ static int child;
 static const char *fname;
 static char *fmfname;
 static int fflg, qflg, ttyflg;
-static int usesleep, rawout;
+static int usesleep, rawout, showexit;
 
 static struct termios tt;
 
@@ -107,6 +107,7 @@ main(int argc, char *argv[])
 	flushtime = 30;
 	fm_fd = -1;	/* Shut up stupid "may be used uninitialized" GCC
 			   warning. (not needed w/clang) */
+	showexit = 0;
 
 	while ((ch = getopt(argc, argv, "adfkpqrt:")) != -1)
 		switch(ch) {
@@ -195,7 +196,8 @@ main(int argc, char *argv[])
 			(void)fprintf(fscript, "Script started on %s",
 			    ctime(&tvec));
 			if (argv[0]) {
-				fprintf(fscript, "command: ");
+				showexit = 1;
+				fprintf(fscript, "Command: ");
 				for (k = 0 ; argv[k] ; ++k)
 					fprintf(fscript, "%s%s", k ? " " : "",
 						argv[k]);
@@ -355,9 +357,13 @@ done(int eno)
 	if (rawout)
 		record(fscript, NULL, 0, 'e');
 	if (!qflg) {
-		if (!rawout)
+		if (!rawout) {
+			if (showexit)
+				(void)fprintf(fscript, "\nCommand exit status:"
+				    " %d", eno);
 			(void)fprintf(fscript,"\nScript done on %s",
 			    ctime(&tvec));
+		}
 		(void)printf("\nScript done, output file is %s\n", fname);
 		if (fflg) {
 			(void)printf("Filemon done, output file is %s\n",



Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?201603281621.u2SGLjgh028359>