bugfix: added do {...} while(0) wrapping macro COND_ERROR AND COND_ERROR_SET