On Sun, Jan 27, 2013 at 7:14 PM, Jonathan Nieder [off-list ref] wrote:
Brandon Casey wrote:
quoted
--- a/sequencer.c
+++ b/sequencer.c
[...]
quoted
@@ -1096,10 +1117,16 @@ void append_signoff(struct strbuf *msgbuf, int ignore_footer)
strbuf_addch(&sob, '\n');
for (i = msgbuf->len - 1 - ignore_footer; i > 0 && msgbuf->buf[i - 1] != '\n'; i--)
; /* do nothing */
- if (prefixcmp(msgbuf->buf + i, sob.buf)) {
- if (!i || !has_conforming_footer(msgbuf, ignore_footer))
- strbuf_splice(msgbuf, msgbuf->len - ignore_footer, 0, "\n", 1);
- strbuf_splice(msgbuf, msgbuf->len - ignore_footer, 0, sob.buf, sob.len);
- }
+
+ if (i)
+ has_footer = has_conforming_footer(msgbuf, &sob, ignore_footer);
Is this "if (i)" test needed? I'd expect that if the message has no newlines,
has_conforming_footer() would notice that and return 0.
Thanks for pointing out this awkwardness. It should be pushed into
has_conforming_footer().
-Brandon