Commit Graph

39 Commits

Author SHA1 Message Date
stefanf
60b910d7c2 Remove unused variables. 2005-04-09 14:31:41 +00:00
dds
145dad6e9d Per letter dated July 22, 1999 remove 3rd clause of Berkeley derived
software (original contributor).

Reviewed by:	imp
2004-08-09 15:29:41 +00:00
tjr
b7f5e217dd Make the 'y' (translate) command aware of multibyte characters. 2004-07-14 10:06:22 +00:00
tjr
8c66633468 Overhaul lputs() to deal with multibyte characters, characters that take
up more than one column position, and null bytes.
2004-07-13 04:35:43 +00:00
des
5449f489bb Reimplement in-place editing in a slightly less disgusting manner. Also,
make an effort to preserve the ownership and mode of the file we are
editing.

Sponsored by:	Registrar AS
2003-11-04 13:09:16 +00:00
des
bc082b44cb Whitespace cleanup 2003-11-04 12:16:47 +00:00
des
b91f0f9009 ANSIfy 2003-11-04 12:15:20 +00:00
tjr
83375877b4 Change the buffer length test in NEEDSP() so that it does not
subtract one unsigned number from another potentially smaller
one, leading to wraparound (and heap corruption, eventually).

PR:		58813
MFC after:	2 weeks
2003-11-02 23:20:24 +00:00
fanf
e503a716d1 Do not dribble zero bytes into the output, by replacing an obfuscated if
whose true and false clauses were equivalent with a check that we are
not about to stumble off the end of the line.

Reported by:	peter
Pointy hat to:	fanf
2003-06-05 12:10:19 +00:00
fanf
2001590435 Fix substitution when the regex matches the zero-length string.
There are two bugs: in the s///g case, the substitution didn't occur
at the end of the line; in the s///N case, the code didn't count
forwards along the line properly. See the sg, s3, s4, and s5 tests
in src/tools/regression/usr.bin/sed/.

Reviewed by:	tjr
2003-06-04 15:31:55 +00:00
eric
97eee3cd78 Initialize a variable in order to fix when faced with picky compilers.
Sponsored by:	Apple
2002-09-20 19:40:23 +00:00
tjr
9e94669b31 Correct boundary condition error in D' and P' commands when the last
line of the pattern space is empty. Don't emit spurious newline when
EOF is reached with the `N' command.

Pointed out by:	Oleg Osyka
MFC after:	1 week
2002-08-11 09:53:44 +00:00
markm
31fbc209c3 s/inline/__inline/ 2002-07-19 14:12:27 +00:00
tjr
7cab19d576 Make cspace()'s second argument const. Make `escapes' in lputs() const. 2002-07-08 06:00:55 +00:00
tjr
110c2de07c Avoid checking whether each line is the last line of the file when we don't
need to know. Instead, check when we are trying to match a "$" address.
This does not change the way sed processes regular files, but makes it behave
more sensibly when used interactively.

PR:		40101
MFC after:	2 weeks
2002-07-03 14:38:27 +00:00
tjr
f71af381af Don't let the pattern space become null if the `x' command is used when the
hold space is null; some functions assume it's never null.

MFC after:	3 days
2002-07-03 14:32:43 +00:00
tjr
32bee004db Fix off by one in `y' (transliterate) command which caused the last character
of the pattern space not to be examined.

Noticed by:	Motoyuki Konno <motoyuki@bsdclub.org>
2002-06-24 11:24:02 +00:00
tjr
98aa149b31 Now that the pattern space contains no trailing newline, modify the `l'
command's output so it's the same as what SUSv3 specifies.
2002-06-22 03:00:52 +00:00
tjr
2db3395cea Don't store newlines at the end of each line in the hold/pattern spaces,
instead add the newline when the pattern space is printed. Make the `G' and
`H' commands add a newline to the space before the data, remove bogus
addition of newline from `x' command.

PR:		29790, 38195
2002-06-22 01:42:26 +00:00
tjr
aebd48afab Don't write escape newlines with `l' command (SUSv3) 2002-06-10 07:25:35 +00:00
tjr
77f74738b6 Correctly handle global substitutions where the pattern is only "$", the
EOL anchor, when the last input line does not end in a newline character.
Picked up by the GNU sed test suite.
2002-06-10 06:06:20 +00:00
tjr
1162c6ee51 Wrap lines correctly for the `l' command. 2002-06-04 10:40:14 +00:00
tjr
86435d3331 Ignore COLUMNS environment variable if it is empty (SUSv3) 2002-06-04 10:00:08 +00:00
trhodes
fa6c7efe3f More consistancy. file system > filesystem 2002-05-16 02:19:14 +00:00
jmallett
b5ca094f22 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
jmallett
51d6548d5c 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
imp
0b20191705 remove __P 2002-03-22 01:42:45 +00:00
markm
f7397edc4d 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
obrien
6dc73139c0 Expand xmalloc in-place, along with xrealloc; which wasn't even ANSI in its
implementation.
2001-07-24 14:05:21 +00:00
peter
3b842d34e8 $Id$ -> $FreeBSD$ 1999-08-28 01:08:13 +00:00
imp
22f901a57c 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
5fa68e57c0 Compile -Wall 1998-12-07 05:33:39 +00:00
ache
854c44e14a Make 'y' command 8bit clean
PR: 6458
1998-04-29 21:58:36 +00:00
charnier
db6e9b0f81 Remove local redefinition for err(). Add usage(). 1997-08-11 07:21:08 +00:00
ache
4fbce9eec9 Localize it
8bit cleanup
1996-08-11 17:46:35 +00:00
jkh
529c9b015a Merge various fixes from NetBSD. This will allow the WordPerfect for
SCO installation to run all the way through (some POSIX fixes).
1995-08-16 05:56:44 +00:00
rgrimes
a14d555c87 Remove trailing whitespace. 1995-05-30 06:41:30 +00:00
jmz
d73fc79374 Correct a bug in the P function: according to 7th edition UNIX (tm), the
newline must be part of the pattern space i.e. `echo a|sed -e P' must print
a
a
and not
aa
This is consistent with gnu sed, SunOS, Ultrix (and probably others!)
1995-02-06 00:14:50 +00:00
rgrimes
f9ab90d9d6 BSD 4.4 Lite Usr.bin Sources 1994-05-27 12:33:43 +00:00