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

Re: [PATCH v2 01/10] sequencer.c: remove broken support for rfc2822 continuation in footer

From
Brandon Casey <drafnel@gmail.com>
Date
Jan 22, 2013, 11:08 UTC
Message-ID
<CA+sFfMeB_PEgoykPj-RX6zZ-hOD1106aO_KwkWF7BBiJvG-1AA@mail.gmail.com>
In-Reply-To
<20130122094916.GB8908@elie.Belkin>
On Tue, Jan 22, 2013 at 1:49 AM, Jonathan Nieder <jrnieder@gmail.com> wrote:
Show 16 quoted lines
> Jonathan Nieder wrote:
>
>> Here is the loop in master:
>>
>>       int hit = 0;
>> [...]
>>
>>       for (i = len - 1; i > 0; i--) {
>>               if (hit && buf[i] == '\n')
>>                       break;
>>               hit = (buf[i] == '\n');
>>       }
>>
>> I don't see any adjacency check.
>
> Of course that's because I can't read. :)  Checking again.

Blame the code, not your eyes. The use of the term 'hit' is what makes this loop confusing. It gives the impression that 'hit' gets set once, after the first newline is /hit/.

It would be much easier to read if it was written like this:
   int last_char_was_nl = 0;
   for (i = len - 1; i > 0; i--) {
           this_char_is_nl = (buf[i] == '\n');
           if (last_char_was_nl && this_char_is_nl)
                   break;
           last_char_was_nl = this_char_is_nl;
   }
I'll slide this in when I resubmit this series with your suggestions.
-Brandon
Previous: Jonathan NiederNext: Jonathan Nieder
Message 7 of 31 in “unify appending of sob”
  1. 00/10 unify appending of sobBrandon Casey, Jan 21, 2013
  2. 01/10 sequencer.c: remove broken support for rfc2822 continuation in footerBrandon Casey, Jan 21, 2013
  3. Jonathan NiederJan 22, 2013
  4. Brandon CaseyJan 22, 2013
  5. Jonathan NiederJan 22, 2013
  6. Jonathan NiederJan 22, 2013
  7. Brandon CaseyJan 22, 2013
  8. Jonathan NiederJan 22, 2013
  9. Jonathan NiederJan 22, 2013
  10. 02/10 t/test-lib-functions.sh: allow to specify the tag name to test_commitBrandon Casey, Jan 21, 2013
  11. Jonathan NiederJan 22, 2013
  12. Brandon CaseyJan 22, 2013
  13. 03/10 t/t3511: add some tests of 'cherry-pick -s' functionalityBrandon Casey, Jan 21, 2013
  14. Jonathan NiederJan 22, 2013
  15. Brandon CaseyJan 27, 2013
  16. Jonathan NiederJan 27, 2013
  17. 04/10 sequencer.c: recognize "(cherry picked from ..." as part of s-o-b footerBrandon Casey, Jan 21, 2013
  18. Jonathan NiederJan 22, 2013
  19. Jonathan NiederJan 28, 2013
  20. 05/10 sequencer.c: always separate "(cherry picked from" from commit bodyBrandon Casey, Jan 21, 2013
  21. Jonathan NiederJan 22, 2013
  22. 06/10 sequencer.c: teach append_signoff how to detect duplicate s-o-bBrandon Casey, Jan 21, 2013
  23. Jonathan NiederJan 22, 2013
  24. Brandon CaseyJan 28, 2013
  25. Junio C HamanoJan 28, 2013
  26. Junio C HamanoFeb 9, 2013
  27. Brandon CaseyFeb 9, 2013
  28. 07/10 sequencer.c: teach append_signoff to avoid adding a duplicate newlineBrandon Casey, Jan 21, 2013
  29. 08/10 t4014: more tests about appending s-o-b linesBrandon Casey, Jan 21, 2013
  30. 09/10 format-patch: update append_signoff prototypeBrandon Casey, Jan 21, 2013
  31. 10/10 Unify appending signoff in format-patch, commit and sequencerBrandon Casey, Jan 21, 2013

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.