Thread (30 messages) 30 messages, 7 authors, 2021-09-24

Re: [PATCH 2/5] grep: stop modifying buffer in show_line()

flat view

From: Taylor Blau <hidden>
Date: 2021-09-21 04:45:31

On Tue, Sep 21, 2021 at 12:42:05AM -0400, Jeff King wrote:
On Tue, Sep 21, 2021 at 12:22:45AM -0400, Taylor Blau wrote:
quoted
On Mon, Sep 20, 2021 at 11:48:09PM -0400, Jeff King wrote:
quoted
When showing lines via grep (or looking for funcnames), we call
show_line() on a multi-line buffer. It finds the end of line and marks
it with a NUL. However, we don't need to do so, as the resulting line is
only used along with its "eol" marker:

 - we pass both to next_match(), which takes care to look at only the
   bytes we specified
Thinking aloud, next_match() calls match_next_pattern() which takes eol
as non-const and passes it to match_one_pattern(). And that calls
strip_timestamp(), which would be non-const, were it not the previous
patch. So I think this conversion is safe.
To be a little nit-picky: this move would be OK even without the change
to strip_timestamp(). The question is whether any of those sub-calls
actually looks past the "eol" pointer we give it.
Right, I wasn't implying that this move was unsafe without the previous
patch. Just that without the previous patch, we couldn't make
show_line() take a const-pointer to eol.

Thanks,
Taylor
Keyboard shortcuts
hback out one level
jnext message in thread
kprevious message in thread
ldrill in
Escclose help / fold thread tree
?toggle this help