[PATCH v4 01/12] sequencer.c: rework search for start of footer to improve clarity
- From
Brandon Casey <drafnel@gmail.com>
- Date
- Feb 12, 2013, 10:17 UTC
- Message-ID
- <1360664260-11803-2-git-send-email-drafnel@gmail.com>
- In-Reply-To
- <1360664260-11803-1-git-send-email-drafnel@gmail.com>
From: Jonathan Nieder <jrnieder@gmail.com>
This code sequence is somewhat difficult to read. Let's rewrite it and add some comments to improve clarity.
Signed-off-by: Brandon Casey <drafnel@gmail.com> --- sequencer.c | 10 ++++++---- 1 file changed, 6 insertions(+), 4 deletions(-)
diff --git a/sequencer.c b/sequencer.c index aef5e8a..dbeff01 100644 --- a/sequencer.c +++ b/sequencer.c @@ -1023,19 +1023,21 @@ int sequencer_pick_revisions(struct replay_opts *opts) static int ends_rfc2822_footer(struct strbuf *sb, int ignore_footer) { - int ch; - int hit = 0; + char ch, prev; int i, j, k; int len = sb->len - ignore_footer; int first = 1; const char *buf = sb->buf; + prev = '\0'; for (i = len - 1; i > 0; i--) { - if (hit && buf[i] == '\n') + ch = buf[i]; + if (prev == '\n' && ch == '\n') /* paragraph break */ break; - hit = (buf[i] == '\n'); + prev = ch; } + /* advance to start of last paragraph */ while (i < len - 1 && buf[i] == '\n') i++;
-- 1.8.1.3.579.gd9af3b6