sequencer.c: rework search for start of footer to improve clarity
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> Signed-off-by: Junio C Hamano <gitster@pobox.com>
Jonathan Nieder committed
Feb 12, 2013 at 02:17 UTC
fa1727fb210bd8d0079af124222420d46fb70f81
1 file changed
+6
-4
sequencer.c
+6
-4
@@ -1019,19 +1019,21 @@ int sequencer_pick_revisions(struct replay_opts *opts)
1019
1020
static int ends_rfc2822_footer(struct strbuf *sb, int ignore_footer)
1021
{
1022
- int ch;
1023
- int hit = 0;
1022
+ char ch, prev;
1023
int i, j, k;
1024
int len = sb->len - ignore_footer;
1025
int first = 1;
1026
const char *buf = sb->buf;
1027
1028
+ prev = '\0';
1029
for (i = len - 1; i > 0; i--) {
1030
- if (hit && buf[i] == '\n')
1030
+ ch = buf[i];
1031
+ if (prev == '\n' && ch == '\n') /* paragraph break */
1032
break;
1032
- hit = (buf[i] == '\n');
1033
+ prev = ch;
1034
}
1035
1036
+ /* advance to start of last paragraph */
1037
while (i < len - 1 && buf[i] == '\n')
1038
i++;
1039