From: Stephen T. <st...@sb...> - 2003-03-26 01:38:22
|
On Tue, 2003-03-25 at 19:22, James Courtier-Dutton wrote: > Stephen Torri wrote: > If you do an assert(0), it will print out the line number and source=20 > code file that contained the assert(0). > Why is that not enough. I sometimes added a printf() in front of the=20 > assert(0) if I really needed it, but that is quite rare. I agree what you do is valid. What I am told is that macros are frowned upon most severely. assert() is a macro wrapper to the function __assert(). It uses the preprocessor to grab the filename and line number of the offending code. What I was hoping to do was incorporate something quite similar to your practice of using assert(). I was hoping to provide a function that would: - act as assert () testing a condition to being true or not. - provide a string providing more output as to what is wrong Now it appears given todays insert of code is that a third property is required: - do not abort if we are not debugging. Therefore we have a function that: - tests a condition - prints out a message - if not debugging, do not abort. This is way we have an assert() + printf() all in one with an extra behaviour based on how we are compiling xine. Stephen --=20 Stephen Torri <st...@sb...> |