Listing 5 check.h, version 2

#ifndef CHECK_H
#define CHECK_H

#define UNDEFINED_IF(pred) ((pred) ? DB_Trap(#pred,&func,0) : (void)0)

#define WARNING_IF(pred) ((pred) ? DB_Trap(#pred,&func,1) : (void)0)

struct Func
   {
   const char * ret;
   const char * name;
   const char * parms;
   const char * file;
   const char * line;
   };

void DB_Trap( const char pred[],
             struct Func * pFunc,
             int sev );

#endif /* CHECK_H */

/* End of File */