Commit 08414938 authored by mackyle's avatar mackyle Committed by Junio C Hamano

mailinfo.c: move side-effects outside of assert

Since 6b4b013f (mailinfo: handle in-body header continuations,
2016-09-20, v2.11.0) mailinfo.c has contained new code with an
assert of the form:

	assert(call_a_function(...))

The function in question, check_header, has side effects.  This
means that when NDEBUG is defined during a release build the
function call is omitted entirely, the side effects do not
take place and tests (fortunately) start failing.

Since the only time that mi->inbody_header_accum is appended to is
in check_inbody_header, and appending onto a blank
mi->inbody_header_accum always happens when is_inbody_header is
true, this guarantees a prefix that causes check_header to always
return true.

Therefore replace the assert with an if !check_header + DIE
combination to reflect this.
Helped-by: default avatarJonathan Tan <[email protected]>
Helped-by: default avatarJeff King <[email protected]>
Acked-by: Johannes Schindelin's avatarJohannes Schindelin <[email protected]>
Signed-off-by: mackyle's avatarKyle J. McKay <[email protected]>
Signed-off-by: default avatarJunio C Hamano <[email protected]>
parent 6b4b013f
......@@ -628,7 +628,8 @@ static void flush_inbody_header_accum(struct mailinfo *mi)
{
if (!mi->inbody_header_accum.len)
return;
assert(check_header(mi, &mi->inbody_header_accum, mi->s_hdr_data, 0));
if (!check_header(mi, &mi->inbody_header_accum, mi->s_hdr_data, 0))
die("BUG: inbody_header_accum, if not empty, must always contain a valid in-body header");
strbuf_reset(&mi->inbody_header_accum);
}
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment