Commit Graph

61 Commits

Author SHA1 Message Date
Brian Feldman
f020c7fa88 Fix a bug in sed(1)'s "s" command wherein if an escape ("\" character)
was initiated at the last character of the line buffer, the Wrong
Thing was done and sed barfed by interpreting the following NUL byte
as a digit.  Instead, pull up the next buffer and record that the "\"
was last seen.
2002-06-01 13:25:47 +00:00
Ruslan Ermilov
cec2dd9f32 mdoc(7) police: typo in .Dd. 2002-05-30 06:05:42 +00:00
Tim J. Robbins
3af4dcb223 If a file argument cannot be processed, process the remaining ones
and exit non-zero (SUSv3)
2002-05-24 10:58:21 +00:00
Tom Rhodes
46c2a2cfa4 More consistancy. file system > filesystem 2002-05-16 02:19:14 +00:00
Brian Feldman
e7b663eff2 o Clean up tmp file usage a little by using mkstemp(3) instead of
mktemp(3).  It would be amazingly unlikely, but the former method
  could result in a symlink attack.  A better solution would use
  ${TMPDIR}, though.
o Make sed not overwrite old backup files with no warning.
2002-05-14 23:15:42 +00:00
Juli Mallett
90f7fe63e9 Oops, update usage() to have -i. 2002-05-07 23:33:44 +00:00
Juli Mallett
5d16412db7 Add handling for any nil-length string passed to -i for the backup extension.
Add a note that this is kinda-sorta dangerous to the manual page.
2002-05-07 23:32:26 +00:00
Juli Mallett
d88e9d841a Un-shadow the `fname' variable. 2002-05-07 23:06:47 +00:00
Juli Mallett
839af0c103 Add a -i option to sed(1) to do inplace editing, to give us an alternative to
Perl for such things.  The key difference to Perl is that a backup extension
*MUST* be specified, because on one hand it isn't recommended to have options
which optionally take a parameter, and on the other hand, it'd be slightly
unpleasent to implement proper handling for that.

The difference between this and the version posted to developers@ is that it
does handle multiple files in argv after the getopt(3) handling "correctly",
in that the inplace editing-specific code has been moved out to a function,
and that function is used beyond the first file in our linked list.

This option has been documented as FreeBSD-specific in the manpage.

Reviewed by:	developers@ (got feedback from: des, fanf, sobomax, roberto,
		obrien)
MFC after:	1 week
2002-05-07 18:32:18 +00:00
Giorgos Keramidas
2642bed24b Remove duplicated text.
PR:		docs/37287
Submitted by:	Tony Finch <dot@dotat.at>
MFC after:	3 days
2002-04-21 14:48:47 +00:00
Maxim Sobolev
efaed24f7d Fix an ages-old bug in sed(1), which resulted in the absolutely valid
substitution expressions in the form `s,[fooexp],[barexp],;...' treated
as invalid when the third `,' is (_POSIX2_LINE_MAX * N)-th character in
the line.

MFC after:	2 weeks
2002-04-12 19:46:05 +00:00
Juli Mallett
ae17860040 Fix sed(1) in the case where a last line is specified and hold space is not
specified, and then the first part of the pattern space is deleted, when
there are two or more input lines, as this results in subtraction of one from
an unsigned integral value of '0'.  That bogus value is used in one case
for a loop (that will run far too many times in this case) and a function to
search for a value within a specified range of memory, however now the range
of memory is obscenely large and a segmentation fault will occur.  This is
fixed by checking for and appropriately handling a nil pattern space as if
the specified search in memory failed, as indeed it obviously will with nil
pattern space.

Submitted by:	Tim J. Robbins <tim@robbins.dropbear.id.au>
PR:		bin/34813
Reviewed by:	mike
MFC after:	1 day
2002-04-07 02:29:56 +00:00
Juli Mallett
acf9afb7a3 Fix sed(1) behaviour for 'G' when given null holdspace by making sure it
contains a \n.

PR:		misc/26153
Submitted by:	ashp
Reviewed by:	mike
Obtained from:	NetBSD
MFC after:	2 days
2002-04-05 05:40:20 +00:00
Warner Losh
3f330d7d1a remove __P 2002-03-22 01:42:45 +00:00
Mark Murray
e35f9517d6 Remove NO_WERRORs and WARNS=n's. To be revisited after GCC3. 2002-02-08 23:07:37 +00:00
Mark Murray
e74bf75f1c WARNS=2 partial fix; use NO_WERROR to protect against some hard-to-fix warnings.
Use __FBSDID(), kill register keyword.
2001-12-12 23:20:16 +00:00
Mike Heffner
0ea56610b4 Don't allocate a zero byte segment.
PR:		bin/11900
MFC after:	2 weeks
2001-11-08 16:47:05 +00:00
Ruslan Ermilov
d628d776c4 mdoc(7) police: utilize the new .Ex macro. 2001-08-15 09:09:47 +00:00
Ruslan Ermilov
c4d9468ea0 mdoc(7) police:
Avoid using parenthesis enclosure macros (.Pq and .Po/.Pc) with plain text.
Not only this slows down the mdoc(7) processing significantly, but it also
has an undesired (in this case) effect of disabling hyphenation within the
entire enclosed block.
2001-08-07 15:48:51 +00:00
David E. O'Brien
8e33c0a0f6 Expand xmalloc in-place, along with xrealloc; which wasn't even ANSI in its
implementation.
2001-07-24 14:05:21 +00:00
Ruslan Ermilov
94ccf5741c Don't leak memory when compiling text following the a', c' or `i' command.
Testcase:

echo FOO | sed "/FOO/c\\
`jot -b 'aaaa\' 500`"

Submitted by:	Max Khon <fjoe@newst.net>
2001-05-18 09:48:17 +00:00
Ruslan Ermilov
47dec78170 mdoc(7) police: use the default ``file ...'' feature of the .Ar macro. 2001-02-13 09:56:35 +00:00
Ruslan Ermilov
1bfea903ed Prepare for mdoc(7)NG. 2001-01-16 09:39:23 +00:00
Ruslan Ermilov
9b88faecd3 Prepare for mdoc(7)NG. 2000-12-19 16:00:12 +00:00
Ruslan Ermilov
8fe908ef0c mdoc(7) police: use the new features of the Nm macro. 2000-11-20 19:21:22 +00:00
Ruslan Ermilov
726b61ab5f Avoid use of direct troff requests in mdoc(7) manual pages. 2000-11-10 17:46:15 +00:00
Nick Sayer
f6c7a9efb8 Small style fix '=' -> ' = ' 2000-05-11 20:15:16 +00:00
Nick Sayer
e6121e72f6 Fix compatibility issue in sed. Do so by explicitely adding a
newline to the end of any -e argument.

PR: bin/18474
2000-05-11 17:01:52 +00:00
Philippe Charnier
dbb9d8f826 Add DIAGNOSTICS section name 2000-03-26 15:06:46 +00:00
Brian Feldman
d249b1750a Uncorrupt the SCCS id (s/ From: / /).
Put a tab before the comment for "rflags".

Submitted by:	bde
2000-03-20 21:31:30 +00:00
Brian Feldman
0ef1d1f59c Fix a couple hard sentence breaks I inadvertently introduced. Also,
update a bit of English into something easier to read.

Prompted by:	sheldonh (thanks!)
2000-03-20 16:21:53 +00:00
Brian Feldman
175de1e677 Add a new flag: -E enables "extended" regular expressions. 2000-03-19 19:41:53 +00:00
Brian Feldman
ab853c5a6f Add $FreeBSD$. 2000-03-19 19:39:41 +00:00
Bill Swingle
1d2ed2f751 PR: 10850
Submitted by:	Scott Hazen Mueller <scott@zorch.sf-bay.org>
2000-02-15 03:00:47 +00:00
Steve Price
9edc38efd7 Escape the ':' so that is actually makes it into the double quotes.
PR:		15775
Submitted by:	Martin Kammerhofer <mkamm@gmx.net>
1999-12-29 22:22:32 +00:00
Peter Wemm
c3aac50f28 $Id$ -> $FreeBSD$ 1999-08-28 01:08:13 +00:00
Nik Clayton
3be5f1f5ce Add $Id$, to make it simpler for members of the translation teams to
track.

The $Id$ line is normally at the bottom of the main comment block in the
man page, separated from the rest of the manpage by an empty comment,
like so;

     .\"    $Id$
     .\"

If the immediately preceding comment is a @(#) format ID marker than the
the $Id$ will line up underneath it with no intervening blank lines.
Otherwise, an additional blank line is inserted.

Approved by:            bde
1999-07-12 20:24:20 +00:00
Warner Losh
96846ff646 More egcs warning fixes:
o main returns int not void
	o use return 0 at end of main when needed
	o use braces to avoid potentially ambiguous else
	o don't default to type int
	o #ifdef 0 -> #if 0

Reviewed by: obrien and chuckr
1999-04-25 22:37:58 +00:00
Archie Cobbs
c56690ef7b Fix a new bug introduced by the previous bug fix 1998-12-08 21:29:22 +00:00
Archie Cobbs
1a6583da3a Fix brokenness compiling "s/pat/subst/" when length of subst is >= 4090 chars.
PR:		bin/7939
1998-12-07 05:35:54 +00:00
Archie Cobbs
2806aab73b Compile -Wall 1998-12-07 05:33:39 +00:00
Brian Somers
13ede3c083 Terminate our output string correctly if we've got
an ``a'' command that has an escaped newline on the
last line of the last script that we're processing.

This fixes exmh2/scripts/build when /etc/malloc.conf -> AJ
1998-09-22 18:39:47 +00:00
Andrey A. Chernov
3492193d0e Make 'y' command 8bit clean
PR: 6458
1998-04-29 21:58:36 +00:00
Philippe Charnier
73a08bb2ad Remove local redefinition for err(). Add usage(). 1997-08-11 07:21:08 +00:00
Steve Price
681e5e7a09 Show the real revision date and not the date that this
manpage is being viewed.
1997-06-23 04:03:49 +00:00
Warner Losh
1c8af87873 compare return value from getopt against -1 rather than EOF, per the final
posix standard on the topic.
1997-03-29 04:34:07 +00:00
Mike Pritchard
07847cc81d Add a missing '\' to some text.
Obtained from: NetBSD-bugs mailing list PR# 3321
1997-03-12 16:05:41 +00:00
Wolfram Schneider
5f4cf81e9d fix C programmer's bug number 12.2
submitted by: bruce
1996-11-17 02:16:34 +00:00
Joerg Wunsch
771301de24 Fix the C programmer's bug #1: EOF is of type int', not char'.
Strong 2.2 candidate.

Submitted by:	wosch
1996-11-17 00:22:54 +00:00
Andrey A. Chernov
b7c6d4477a Make it at least semi-worked 1996-08-11 18:08:53 +00:00