From 5595a9b2dbb900f3a7e501e5d09f9708fa3af5f4 Mon Sep 17 00:00:00 2001 From: bdrewery Date: Mon, 28 Mar 2016 16:24:10 +0000 Subject: [PATCH] MFC r296526: Record command exit status in the typescript file when running simple commands. Relnotes: yes git-svn-id: svn://svn.freebsd.org/base/stable/9@297353 ccf9f872-aa2e-dd11-9fc8-001c23d0bc1f --- usr.bin/script/script.c | 12 +++++++++--- 1 file changed, 9 insertions(+), 3 deletions(-) diff --git a/usr.bin/script/script.c b/usr.bin/script/script.c index 4e5e31372..b42e3edd7 100644 --- a/usr.bin/script/script.c +++ b/usr.bin/script/script.c @@ -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; @@ -108,6 +108,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) { @@ -196,7 +197,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]); @@ -357,9 +359,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", -- 2.45.0