Module Name: src
Committed By: christos
Date: Tue Jun 17 16:39:02 UTC 2014
Modified Files:
src/usr.bin/sed: main.c sed.1
Log Message:
add -u (unbuffered output) after GNU sed.
To generate a diff of this commit:
cvs rdiff -u -r1.24 -r1.25 src/usr.bin/sed/main.c
cvs rdiff -u -r1.34 -r1.35 src/usr.bin/sed/sed.1
Please note that diffs are not public domain; they are subject to the
copyright notices on the relevant files.
Modified files:
Index: src/usr.bin/sed/main.c
diff -u src/usr.bin/sed/main.c:1.24 src/usr.bin/sed/main.c:1.25
--- src/usr.bin/sed/main.c:1.24 Fri Jun 6 08:46:54 2014
+++ src/usr.bin/sed/main.c Tue Jun 17 12:39:02 2014
@@ -1,4 +1,4 @@
-/* $NetBSD: main.c,v 1.24 2014/06/06 12:46:54 joerg Exp $ */
+/* $NetBSD: main.c,v 1.25 2014/06/17 16:39:02 christos Exp $ */
/*-
* Copyright (c) 2013 Johann 'Myrkraverk' Oskarsson.
@@ -39,7 +39,7 @@
#endif
#include <sys/cdefs.h>
-__RCSID("$NetBSD: main.c,v 1.24 2014/06/06 12:46:54 joerg Exp $");
+__RCSID("$NetBSD: main.c,v 1.25 2014/06/17 16:39:02 christos Exp $");
#ifdef __FBSDID
__FBSDID("$FreeBSD: head/usr.bin/sed/main.c 252231 2013-06-26 04:14:19Z pfg $");
#endif
@@ -137,7 +137,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':
@@ -177,6 +177,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)
+ warn("setting unbuffered output failed");
+ break;
default:
case '?':
usage();
@@ -208,9 +218,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 [-Ealnu] [-i[<extension>]] [file ...]\n"
+ "\t%s [-Ealnu] [-i[<extension>]] [-e script] ... [-f script_file]"
+ " ... [file ...]\n", getprogname(), getprogname());
exit(1);
}
Index: src/usr.bin/sed/sed.1
diff -u src/usr.bin/sed/sed.1:1.34 src/usr.bin/sed/sed.1:1.35
--- src/usr.bin/sed/sed.1:1.34 Fri Jun 6 10:36:38 2014
+++ src/usr.bin/sed/sed.1 Tue Jun 17 12:39:02 2014
@@ -1,4 +1,4 @@
-.\" $NetBSD: sed.1,v 1.34 2014/06/06 14:36:38 christos Exp $
+.\" $NetBSD: sed.1,v 1.35 2014/06/17 16:39:02 christos Exp $
.\" Copyright (c) 1992, 1993
.\" The Regents of the University of California. All rights reserved.
.\"
@@ -32,7 +32,7 @@
.\" @(#)sed.1 8.2 (Berkeley) 12/30/93
.\" $FreeBSD: head/usr.bin/sed/sed.1 259132 2013-12-09 18:57:20Z eadler $
.\"
-.Dd December 9, 2013
+.Dd June 17, 2014
.Dt SED 1
.Os
.Sh NAME
@@ -40,7 +40,7 @@
.Nd stream editor
.Sh SYNOPSIS
.Nm
-.Op Fl Ealnr
+.Op Fl Ealnru
.Ar command
.Op Ar
.Nm
@@ -149,6 +149,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