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 specifiedThinking 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