Youve missed the final ";" in your thinking...
Type-out the macro-replacement manually... and keep an eye on the red ";"
LFAssert(foopointer, "Some error message");becomes
if(!(foopointer)){"Some error message"); sys_exit(NULL);};You see?
I tend to "fake" this with a REALLY ugly hack like so...
#define LFAssert(con, msg) if(!(con)){error(msg); sys_exit(NULL);} var who_cares=0
//[[condition and message shortened just for display purposes...]]
which then becomes
if(!(foopointer)){"Some error message"); sys_exit(NULL);} var who_cares=0;VERY ugly, but work MOST of the time...
Mind you, I wish there was a better way...