Identifies program logic errors.
#include <assert.h> int assertf ( int expression);
(IN) Specifies an expression to evaluate.
Returns __NOERR (0) if expression evaluates to nonzero. Otherwise, returns the value set by assert_action ( __IGNORE, __ABORT or __DEBUGGER). If assert_action has never been called, __ABORT is the default action.
When _ABORT is the action, assertf never actually returns because assertf terminates the owning NLM by calling abort, just as the standard interface assert does when its expression evaluates to 0.
The assertf macro prints a diagnostic message to stderr and returns the value corresponding to the current assert_action behavior if expression evaluates to nonzero. Except for the ability to return a value (except in the case where the default action to take is __ABORT), assertf behaves in every other respect like assert.