mailinfo: handle_commit_msg() shouldn't be called after finding patchbreak

There is a strange "if (!mi->cmitmsg) return 0" at the very beginning
of handle_commit_msg(), but the condition should never trigger, because:

 * The only place cmitmsg is set to NULL is after this function sees
   a patch break, closes the FILE * to write the commit log message
   and returns 1.  This function returns non-zero only from that
   codepath.

 * The caller of this function, upon seeing a non-zero return,
   increments filter_stage, starts treating the input as patch text
   and will never call handle_commit_msg() again.

Replace it with an assert(!mi->filter_stage) to ensure the above
observation will stay to be true.

Signed-off-by: Junio C Hamano <gitster@pobox.com>
This commit is contained in:
Junio C Hamano 2015-10-14 16:16:33 -07:00
parent 8e919277e0
commit 4933910ab7

View file

@ -654,8 +654,7 @@ static int is_scissors_line(const struct strbuf *line)
static int handle_commit_msg(struct mailinfo *mi, struct strbuf *line)
{
if (!mi->cmitmsg)
return 0;
assert(!mi->filter_stage);
if (mi->header_stage) {
if (!line->len || (line->len == 1 && line->buf[0] == '\n'))