diff --git a/tools/regression/usr.bin/sed/regress.c0.out b/tools/regression/usr.bin/sed/regress.c0.out new file mode 100644 index 000000000000..a1f894413ef3 --- /dev/null +++ b/tools/regression/usr.bin/sed/regress.c0.out @@ -0,0 +1,4 @@ +foo +foo +foo +foo diff --git a/tools/regression/usr.bin/sed/regress.c1.out b/tools/regression/usr.bin/sed/regress.c1.out new file mode 100644 index 000000000000..21af01e3aaac --- /dev/null +++ b/tools/regression/usr.bin/sed/regress.c1.out @@ -0,0 +1,4 @@ +input +data +for validation +foo diff --git a/tools/regression/usr.bin/sed/regress.c2.out b/tools/regression/usr.bin/sed/regress.c2.out new file mode 100644 index 000000000000..6c54a8d978ff --- /dev/null +++ b/tools/regression/usr.bin/sed/regress.c2.out @@ -0,0 +1,3 @@ +input +data +foo diff --git a/tools/regression/usr.bin/sed/regress.c3.out b/tools/regression/usr.bin/sed/regress.c3.out new file mode 100644 index 000000000000..6c54a8d978ff --- /dev/null +++ b/tools/regression/usr.bin/sed/regress.c3.out @@ -0,0 +1,3 @@ +input +data +foo diff --git a/tools/regression/usr.bin/sed/regress.sh b/tools/regression/usr.bin/sed/regress.sh index 45d8f85e2a41..3e7ba5fcc19b 100644 --- a/tools/regression/usr.bin/sed/regress.sh +++ b/tools/regression/usr.bin/sed/regress.sh @@ -2,7 +2,7 @@ REGRESSION_START($1) -echo '1..11' +echo '1..15' REGRESSION_TEST(`G', `sed G < regress.in') REGRESSION_TEST(`P', `sed P < regress.in') @@ -15,5 +15,17 @@ REGRESSION_TEST(`s4', `echo foo | sed s/,*/,/4') REGRESSION_TEST(`s5', `echo foo | sed s/,*/,/5') REGRESSION_TEST(`hanoi', `echo ":abcd: : :" | sed -f hanoi.sed') REGRESSION_TEST(`math', `echo "4+7*3+2^7/3" | sed -f math.sed') +REGRESSION_TEST(`c0', `sed ''`c\ +foo +''`< regress.in') +REGRESSION_TEST(`c1', `sed ''`4,$c\ +foo +''`< regress.in') +REGRESSION_TEST(`c2', `sed ''`3,9c\ +foo +''`< regress.in') +REGRESSION_TEST(`c3', `sed ''`3,/no such string/c\ +foo +''`< regress.in') REGRESSION_END() diff --git a/usr.bin/sed/process.c b/usr.bin/sed/process.c index 83fe325b1e57..ee9334c24512 100644 --- a/usr.bin/sed/process.c +++ b/usr.bin/sed/process.c @@ -128,7 +128,7 @@ process(void) case 'c': pd = 1; psl = 0; - if (cp->a2 == NULL || lastaddr) + if (cp->a2 == NULL || lastaddr || lastline()) (void)fprintf(outfile, "%s", cp->t); break; case 'd':