Re: [PATCH] mailinfo.c: move side-effects outside of assert
- From
Johannes Schindelin <johannes.schindelin@gmx.de>
- Date
- Dec 19, 2016, 17:45 UTC
- Message-ID
- <alpine.DEB.2.20.1612191844520.54750@virtualbox>
- In-Reply-To
- <900a55073f78a9f19daca67e468d334@3c843fe6ba8f3c586a21345a2783aa0>
Hi,
On Sat, 17 Dec 2016, Kyle J. McKay wrote:
Show 16 quoted lines
> 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. > > Move the function call outside of the assert and assert on > the result of the function call instead so that the code > still works properly in a release build and passes the tests. > > Signed-off-by: Kyle J. McKay <mackyle@gmail.com>
ACK. I noticed this problem (and fixed it independently as a part of a huge patch series I did not get around to submit yet) while trying to get Git to build correctly with Visual C.
Ciao, Dscho