#include #include #include #include "lib.h" /* new file 4/15/92 sb This function had to be split from the [vf]printf functions to accommodate Sozobon's floating point libs. Originally, anything that used the assert() macro [like malloc()] would pull in this function and bring with it definitions of printf et.al.; if we've already included the printf() from libm.a, this will cause a conflict. 5/2/92 sb Modified to do its own work rather than call fprintf(). */ #define _say(s) _write(2,s,(long)strlen(s)) static char buf[20]; /* big enough for any value of a long */ /* This is used by the `assert' macro. */ void __eprintf (expression, line, filename) const char *expression; const long line; const char *filename; { _ltoa(line, buf, 10); _say("assertion `"); _say(expression); _say("' failed at line "); _say(buf); _say(" of file "); _say(filename); _say("\r\n"); }