HomeFreeBSD

MFC r318571: bsdgrep: emit more than MAX_LINE_MATCHES per line

Description

MFC r318571: bsdgrep: emit more than MAX_LINE_MATCHES per line

We should not set an arbitrary cap on the number of matches on a line,
and in any case MAX_LINE_MATCHES of 32 is much too low. Instead, if we
match more than MAX_LINE_MATCHES, keep processing and matching from the
last match until all are found.

For the regression test, we produce 4096 matches (larger than we expect
we'll ever set MAX_LINE_MATCHES) and make sure we actually get 4096
lines of output with the -o flag.

We'll also make sure that every distinct line is getting its own line
number to detect line metadata not being printed as appropriate along
the way.

PR: 218811
Approved by: emaste (mentor, blanket MFC)

Details

Provenance
kevansAuthored on
Parents
rS322608: bsdgrep: fix segfault with --mmap and add relevant test
Branches
Unknown
Tags
Unknown