diff options
author | pfg <pfg@FreeBSD.org> | 2014-06-20 21:41:30 +0000 |
---|---|---|
committer | pfg <pfg@FreeBSD.org> | 2014-06-20 21:41:30 +0000 |
commit | 49152e1559083ac8f77aa5ab1257bdc5afa86db8 (patch) | |
tree | 2f9affbc4555f2a55443f6e07742a8776d82c443 | |
parent | 34998088693f267781e5c3f7fdafde838fd65cce (diff) | |
download | FreeBSD-src-49152e1559083ac8f77aa5ab1257bdc5afa86db8.zip FreeBSD-src-49152e1559083ac8f77aa5ab1257bdc5afa86db8.tar.gz |
Add -u (unbuffered output) after GNU sed.
Obtained from: NetBSD
MFC after: 1 week
-rw-r--r-- | usr.bin/sed/main.c | 19 | ||||
-rw-r--r-- | usr.bin/sed/sed.1 | 6 |
2 files changed, 19 insertions, 6 deletions
diff --git a/usr.bin/sed/main.c b/usr.bin/sed/main.c index 2062c68..4724e25 100644 --- a/usr.bin/sed/main.c +++ b/usr.bin/sed/main.c @@ -132,7 +132,7 @@ main(int argc, char *argv[]) fflag = 0; inplace = NULL; - while ((c = getopt(argc, argv, "EI:ae:f:i:lnr")) != -1) + while ((c = getopt(argc, argv, "EI:ae:f:i:lnru")) != -1) switch (c) { case 'r': /* Gnu sed compat */ case 'E': @@ -168,6 +168,16 @@ main(int argc, char *argv[]) case 'n': nflag = 1; break; + case 'u': +#ifdef _IONBF + c = setvbuf(stdout, NULL, _IONBF, 0); +#else + c = -1; + errno = EOPNOTSUPP; +#endif + if (c) + warnx("setting unbuffered output failed"); + break; default: case '?': usage(); @@ -199,9 +209,10 @@ main(int argc, char *argv[]) static void usage(void) { - (void)fprintf(stderr, "%s\n%s\n", - "usage: sed script [-Ealn] [-i extension] [file ...]", - " sed [-Ealn] [-i extension] [-e script] ... [-f script_file] ... [file ...]"); + (void)fprintf(stderr, + "usage: %s script [-Ealnru] [-i[<extension>]] [file ...]\n" + "\t%s [-Ealnu] [-i[<extension>]] [-e script] ... [-f script_file]" + " ... [file ...]\n", getprogname(), getprogname()); exit(1); } diff --git a/usr.bin/sed/sed.1 b/usr.bin/sed/sed.1 index cf27496..277535e 100644 --- a/usr.bin/sed/sed.1 +++ b/usr.bin/sed/sed.1 @@ -31,7 +31,7 @@ .\" @(#)sed.1 8.2 (Berkeley) 12/30/93 .\" $FreeBSD$ .\" -.Dd December 9, 2013 +.Dd June 20, 2014 .Dt SED 1 .Os .Sh NAME @@ -39,7 +39,7 @@ .Nd stream editor .Sh SYNOPSIS .Nm -.Op Fl Ealnr +.Op Fl Ealnru .Ar command .Op Ar .Nm @@ -148,6 +148,8 @@ option suppresses this behavior. Same as .Fl E for compatibility with GNU sed. +.It Fl u +Make output unbuffered. .El .Pp The form of a |