mailinfo.c: move side-effects outside of assert
commit08414938a26f66988418dfdac03a62b97450056d
authorKyle J. McKay <mackyle@gmail.com>
Mon, 19 Dec 2016 23:13:00 +0000 (19 15:13 -0800)
committerJunio C Hamano <gitster@pobox.com>
Tue, 20 Dec 2016 17:30:01 +0000 (20 09:30 -0800)
tree651d4edf07f9f75619708547bbbeb8be4d398392
parent6b4b013f1884a3b5e67877d65a9f1da598ab4a6f
mailinfo.c: move side-effects outside of assert

Since 6b4b013f18 (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: Jonathan Tan <jonathantanmy@google.com>
Helped-by: Jeff King <peff@peff.net>
Acked-by: Johannes Schindelin <Johannes.Schindelin@gmx.de>
Signed-off-by: Kyle J. McKay <mackyle@gmail.com>
Signed-off-by: Junio C Hamano <gitster@pobox.com>
mailinfo.c