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