svn commit: r258955 - head/usr.bin/script
Tom Rhodes
trhodes at FreeBSD.org
Thu Dec 5 01:44:25 UTC 2013
Author: trhodes
Date: Thu Dec 5 01:44:24 2013
New Revision: 258955
URL: http://svnweb.freebsd.org/changeset/base/258955
Log:
Add -F to flush output after each write. With this, I can
set up a pipe and allow a jr user to watch what I'm doing
by running 'script -F pipefile' on it.
While here, spell out the month in the .Dd tag like other
manual pages.
Modified:
head/usr.bin/script/script.1
head/usr.bin/script/script.c
Modified: head/usr.bin/script/script.1
==============================================================================
--- head/usr.bin/script/script.1 Thu Dec 5 01:21:45 2013 (r258954)
+++ head/usr.bin/script/script.1 Thu Dec 5 01:44:24 2013 (r258955)
@@ -28,7 +28,7 @@
.\" @(#)script.1 8.1 (Berkeley) 6/6/93
.\" $FreeBSD$
.\"
-.Dd Oct 27, 2012
+.Dd December 4, 2013
.Dt SCRIPT 1
.Os
.Sh NAME
@@ -37,6 +37,7 @@
.Sh SYNOPSIS
.Nm
.Op Fl adfkpqr
+.Op Fl F Ar pipe
.Op Fl t Ar time
.Op Ar file Op Ar command ...
.Sh DESCRIPTION
@@ -76,6 +77,12 @@ retaining the prior contents.
When playing back a session with the
.Fl p
flag, do not sleep between records when playing back a timestamped session.
+.It Fl F Ar pipe
+Immediately flush output after each write.
+This will allow a user to create a named pipe using
+.Xr mkfifo 1
+and another user may watch the live session using a utility like
+.Xr cat 1 .
.It Fl f
Create
.Ar file.filemon
Modified: head/usr.bin/script/script.c
==============================================================================
--- head/usr.bin/script/script.c Thu Dec 5 01:21:45 2013 (r258954)
+++ head/usr.bin/script/script.c Thu Dec 5 01:44:24 2013 (r258955)
@@ -98,18 +98,18 @@ main(int argc, char *argv[])
char obuf[BUFSIZ];
char ibuf[BUFSIZ];
fd_set rfd;
- int aflg, kflg, pflg, ch, k, n;
+ int aflg, Fflg, kflg, pflg, ch, k, n;
int flushtime, readstdin;
int fm_fd, fm_log;
- aflg = kflg = pflg = 0;
+ aflg = Fflg = kflg = pflg = 0;
usesleep = 1;
rawout = 0;
flushtime = 30;
fm_fd = -1; /* Shut up stupid "may be used uninitialized" GCC
warning. (not needed w/clang) */
- while ((ch = getopt(argc, argv, "adfkpqrt:")) != -1)
+ while ((ch = getopt(argc, argv, "adFfkpqrt:")) != -1)
switch(ch) {
case 'a':
aflg = 1;
@@ -117,6 +117,9 @@ main(int argc, char *argv[])
case 'd':
usesleep = 0;
break;
+ case 'F':
+ Fflg = 1;
+ break;
case 'f':
fflg = 1;
break;
@@ -283,6 +286,8 @@ main(int argc, char *argv[])
fflush(fscript);
start = tvec;
}
+ if (Fflg)
+ fflush(fscript);
}
finish();
done(0);
More information about the svn-src-all
mailing list