[Bug 209116] bsdgrep -Fxf failing if earlier non-match is a sub-prefix of the actual match
bugzilla-noreply at freebsd.org
bugzilla-noreply at freebsd.org
Mon Apr 3 23:17:37 UTC 2017
https://bugs.freebsd.org/bugzilla/show_bug.cgi?id=209116
--- Comment #2 from commit-hook at freebsd.org ---
A commit references this bug:
Author: emaste
Date: Mon Apr 3 23:16:52 UTC 2017
New revision: 316477
URL: https://svnweb.freebsd.org/changeset/base/316477
Log:
bsdgrep: fix matching behaviour
- Set REG_NOTBOL if we've already matched beginning of line and we're
examining later parts
- For each pattern we examine, apply it to the remaining bits of the
line rather than (potentially) smaller subsets
- Check for REG_NOSUB after we've looked at all patterns initially
matching the line
- Keep track of the last match we made to later determine if we're
simply not matching any longer or if we need to proceed another byte
because we hit a zero-length match
- Match the earliest and longest bit of each line before moving the
beginning of what we match to further in the line, past the end of the
longest match; this generally matches how gnugrep(1) seems to behave,
and seems like pretty good behavior to me
- Finally, bail out of printing any matches if we were set to print all
(empty pattern) but -o (output matches) was set
PR: 195763, 180990, 197555, 197531, 181263, 209116
Submitted by: "Kyle Evans" <kevans91 at ksu.edu>
Reviewed by: cem
MFC after: 1 month
Relnotes: Yes
Differential Revision: https://reviews.freebsd.org/D10104
Changes:
head/usr.bin/grep/util.c
--
You are receiving this mail because:
You are the assignee for the bug.
More information about the freebsd-bugs
mailing list