git/list[1] front-page[2] threads[3] people[4] search[5] about
 

Re: [PATCH 2/4] xdiff-interface.c: always trim trailing space from xfuncname matches

From
Jeff King <peff@peff.net>
Date
Sep 9, 2010, 19:35 UTC
Message-ID
<20100909193528.GA1092@sigill.intra.peff.net>
In-Reply-To
<GLdpD2WwjdTYfjYpj9FXho_K_YzeaiL1jdGACbdsXplUz5EPC0X3vA@cipher.nrlssc.navy.mil>
On Thu, Sep 09, 2010 at 02:33:15PM -0500, Brandon Casey wrote:
Show 26 quoted lines
> On 09/09/2010 02:21 PM, Jeff King wrote:
> > On Thu, Sep 09, 2010 at 02:02:46PM -0500, Brandon Casey wrote:
> > 
> >> From: Brandon Casey <drafnel@gmail.com>
> >>
> >> Generally, trailing space is removed from the string matched by the
> >> xfuncname patterns.  The exception is when the matched string exceeds the
> >> length of the fixed-size buffer that it will be copied in to.  But, a
> >> string that exceeds the buffer can still contain trailing space in the
> >> portion of the string that will be copied into the buffer.  So, simplify
> >> this code slightly, and just perform the trailing space removal always.
> > 
> > Hrm. So we are cutting off trailing space that might have been
> > non-trailing space in their original string? It is hard to argue that is
> > much worse than truncating the original string in the first place. But I
> > really wonder whether we should be silently truncating anything, and not
> > just dying or somehow handling this better?
> > 
> > If I understand what is going on (and I'm not sure that I do), are we
> > silently producing bogus word-diffs in the face of really long lines?
> 
> I don't think this function is used to do the word-diffs.  Unless I'm
> missing something, ff_regexp is only used to do the funcname matching to
> produce the hunk header string.  An 80-byte buffer is used to hold
> that string.  So, the trimming is performed on what is effectively a
> comment.

Ah, OK, that makes a lot more sense. Then yeah, we should always be trimming trailing whitespace from the result, so your patch is good.

-Peff
Previous: Brandon CaseyNext: Brandon Casey
Message 5 of 16 in “diff.c: call regfree to free memory allocated by regcomp when necessary”
  1. 1/4 diff.c: call regfree to free memory allocated by regcomp when necessaryBrandon Casey, Sep 9, 2010
  2. 2/4 xdiff-interface.c: always trim trailing space from xfuncname matchesBrandon Casey, Sep 9, 2010
  3. Jeff KingSep 9, 2010
  4. Brandon CaseySep 9, 2010
  5. Jeff KingSep 9, 2010
  6. 3/4 t/t4018: test whether the word_regex patterns compileBrandon Casey, Sep 9, 2010
  7. Jeff KingSep 9, 2010
  8. Brandon CaseySep 9, 2010
  9. Jeff KingSep 9, 2010
  10. t/t4018: avoid two unnecessary sub-shell invocationsBrandon Casey, Sep 10, 2010
  11. Ævar Arnfjörð BjarmasonSep 10, 2010
  12. 4/4 userdiff.c: add builtin fortran regex patternsBrandon Casey, Sep 9, 2010
  13. Jeff KingSep 9, 2010
  14. Brandon CaseySep 9, 2010
  15. 4/4 userdiff.c: add builtin fortran regex patternsBrandon Casey, Sep 10, 2010
  16. Jeff KingSep 9, 2010

Read the whole thread, see it on lore, or plain text.

$ cat FOOTERMessages come from the public archive at lore.kernel.org/git, fetched every hour. The front page is chosen and written each morning by an AI editor and can be wrong; the threads themselves are the record. About and API. For agents: an MCP server at https://gitlist.dev/mcp, and any thread, story or person page as Markdown by adding .md to its URL (or sending Accept: text/markdown). Details in /llms.txt.