summaryrefslogtreecommitdiffstats
path: root/usr.bin
diff options
context:
space:
mode:
authortjr <tjr@FreeBSD.org>2002-08-11 09:53:44 +0000
committertjr <tjr@FreeBSD.org>2002-08-11 09:53:44 +0000
commit9e94669b318caf0f97ff31f3c8fe7deb5dfd3c1b (patch)
tree5948724bec9b79865cb013b3c6f660f1ccdc8a75 /usr.bin
parent2354dfe3ac819f30e3d99097529a565c78b31019 (diff)
downloadFreeBSD-src-9e94669b318caf0f97ff31f3c8fe7deb5dfd3c1b.zip
FreeBSD-src-9e94669b318caf0f97ff31f3c8fe7deb5dfd3c1b.tar.gz
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
Diffstat (limited to 'usr.bin')
-rw-r--r--usr.bin/sed/process.c9
1 files changed, 3 insertions, 6 deletions
diff --git a/usr.bin/sed/process.c b/usr.bin/sed/process.c
index e7abf71..94c24e9 100644
--- a/usr.bin/sed/process.c
+++ b/usr.bin/sed/process.c
@@ -137,7 +137,7 @@ redirect:
if (pd)
goto new;
if (psl == 0 ||
- (p = memchr(ps, '\n', psl - 1)) == NULL) {
+ (p = memchr(ps, '\n', psl)) == NULL) {
pd = 1;
goto new;
} else {
@@ -176,11 +176,8 @@ redirect:
case 'N':
flush_appends();
cspace(&PS, "\n", 1, 0);
- if (!mf_fgets(&PS, 0)) {
- if (!nflag && !pd)
- OUT(ps)
+ if (!mf_fgets(&PS, 0))
exit(0);
- }
break;
case 'p':
if (pd)
@@ -191,7 +188,7 @@ redirect:
if (pd)
break;
if (psl != 0 &&
- (p = memchr(ps, '\n', psl - 1)) != NULL) {
+ (p = memchr(ps, '\n', psl)) != NULL) {
oldpsl = psl;
psl = p - ps;
}
OpenPOWER on IntegriCloud