Hello tech@,
As reported and fixed by pfg@freebsd.
Fixes the following case:
% echo z | gsed -n -e 's/^a*/b/2p'
# empty -- correct
% echo z | sed -n -e 's/^a*/b/2p'
z # incorrect
Fix in FreeBSD r302973
OK?
martijn@
Index: process.c
===================================================================
RCS file: /cvs/src/usr.bin/sed/process.c,v
retrieving revision 1.28
diff -u -p -r1.28 process.c
--- process.c 30 May 2016 18:10:29 -0000 1.28
+++ process.c 10 Oct 2016 19:48:58 -0000
@@ -404,7 +404,7 @@ substitute(struct s_command *cp)
regexec_e(re, ps, REG_NOTBOL, 0, le, psl));
/* Did not find the requested number of matches. */
- if (n > 1)
+ if (n > 0)
return (0);
/* Copy the trailing retained string. */