Home | History | Annotate | Download | only in script
History log of /src/usr.bin/script/script.c
RevisionDateAuthorComments
 1.34  09-May-2023  hgutch Reset SIGCHLD handler to SIG_DFL.

If run with "-c", both child and parent script processes will handle
SIGCHLD resulting in a possible duplicate "Script done" line in the
output. This fixes bin/54514.
 1.33  13-Feb-2022  christos 1. restore the previous finish() logic to make:
script -e -c /usr/bin/true
script -e -c /usr/bin/false
exit with the proper exit code.
2. handle system return value correctly (nabijaczleweli)
3. factor out the conversion of wait status -> shell return code.
 1.32  12-Feb-2022  rillig script: declare dooutput as __dead

This fixes the Clang build, which failed with:

usr.bin/script/script.c:255:1: error:
function 'dooutput' could be declared with attribute 'noreturn'
[-Werror,-Wmissing-noreturn]
 1.31  11-Feb-2022  christos PR/56254: RVP: Don't call non-async-signal-safe functions from signal handlers.
Establish a non-restart signal handler to avoid blocking in long I/Os.
 1.30  20-Jan-2022  christos dooutput can return if finish() does not find a chile process.
 1.29  16-Jan-2022  christos If -e is specified exit with the exit status of the child process in
a shell-like format (nabijaczleweli)
 1.28  31-Aug-2020  christos Unlike done() childwait() returns, found by clang.
 1.27  28-Aug-2020  christos PR/55605: Soumendra Ganguly: Wait for child to finish when stdin is not a tty
 1.26  08-Aug-2020  christos PR/55551 Soumendra Ganguly: Simplify tcgetattr error handling.
 1.25  07-Aug-2020  christos PR/55548: Soumendra Ganguly: Since isatty(3) is implemented using
tcgetattr(3), call it directly to avoid calling it twice. This
makes error handling more precise. Also don't call err(3) when
tcsetattr(3) fails.
 1.24  03-Aug-2020  christos remove trailing whitespace
 1.23  02-Aug-2020  christos PR/55531: Soumendra Ganguly:
- add more error handling
- handle -p when not a terminal
- call termreset() before printing script done, so that it is printed correctly

Also:
- use ssize_t/size_t instead of int
- use EXIT_SUCCESS/EXIT_FAILURE
- check result of fork() against -1
 1.22  01-Aug-2020  christos PR/55529: Soumendra Ganguly: configure the terminal in raw mode during
playback so that output postprocessing is not done and playback of programs
using curses does not appear corrupted.
 1.21  06-Sep-2011  joerg static + __dead
 1.20  08-Jun-2011  yamt err -> errx where appropriate
 1.19  17-Oct-2009  christos branches: 1.19.4;
use system to parse args
 1.18  17-Oct-2009  christos add more features found in other unices
 1.17  13-Apr-2009  lukem Fix WARNS=4 issues (-Wcast-qual -Wshadow)
 1.16  21-Jul-2008  lukem branches: 1.16.6;
Remove the \n and tabs from the __COPYRIGHT() strings.
Tweak to use a consistent format.
 1.15  09-Sep-2007  christos branches: 1.15.8;
PR/36955: Ighighi: Use fseeko instead of fseek.
 1.14  20-Aug-2007  christos branches: 1.14.2;
Apparently seeking forward on a FIFO does not work (why?). Read instead.
Patch from Jukka Salmi.
 1.13  19-Aug-2007  christos deal with non-regular files.
 1.12  14-Jun-2006  liamjfoy Fix PR: 26363: script core dumps on incorrect input files.

This patch virtually re-writes the playback code and contains
improvements (mainly the dependency upon BUFSIZ being the same
size as it was wrote at).

OK: christos, joerg
 1.11  29-Mar-2006  rpaulo branches: 1.11.2;
ANSIfy. de-P.
 1.10  13-Jul-2004  wiz Add -d to usage; use getprogname(3). From Kouichirou Hiratsuka in PR 26227.
 1.9  07-Aug-2003  agc Move UCB-licensed code from 4-clause to 3-clause licence.

Patches provided by Joel Baker in PR 22365, verified by myself.
 1.8  21-Jun-2002  atatat Add an alternate "typescript mode" that contains timestamps and other
data interleaved between chunks of actual output (and input), and
teach script how to read the new format so that sessions can be played
back at "proper" time.
 1.7  19-Dec-1998  christos don't use union wait; an int is good enough.
 1.6  02-Apr-1998  kleink Need <time.h> for time() and ctime() prototypes.
 1.5  19-Oct-1997  lukem WARNSify, fix .Nm usage, deprecate register, getopt returns -1 not EOF
 1.4  03-Mar-1997  mikel pass $SHELL or /bin/sh as argv[0] to subshell, instead of "sh"; fixes
PR bin/3276.
 1.3  21-Dec-1994  jtc Merged with 4.4lite.
Changed to conform to NetBSD's new RCS Id convention.
 1.2  01-Aug-1993  mycroft Add RCS identifiers.
 1.1  21-Mar-1993  cgd branches: 1.1.1;
Initial revision
 1.1.1.2  21-Dec-1994  jtc imported from 44lite
 1.1.1.1  21-Mar-1993  cgd initial import of 386bsd-0.1 sources
 1.11.2.1  19-Jun-2006  chap Sync with head.
 1.14.2.1  06-Nov-2007  matt sync with HEAD
 1.15.8.1  18-Sep-2008  wrstuden Sync with wrstuden-revivesa-base-2.
 1.16.6.1  13-May-2009  jym Sync with HEAD.

Third (and last) commit. See http://mail-index.netbsd.org/source-changes/2009/05/13/msg221222.html
 1.19.4.1  23-Jun-2011  cherry Catchup with rmind-uvmplock merge.

RSS XML Feed