void pts(Ts *ts) { TsPrint(stdout, ts); fputc(NEWLINE, stdout); TsPrint(Log, ts); fputc(NEWLINE, Log); }
void Dbg(int flag, int level, char *fmt, ...) { Ts ts; va_list args; #ifdef SUNOS va_start(args); #else va_start(args, fmt); #endif TsSetNow(&ts); if (level <= DbgStdoutLevel && Log) { TsPrint(stdout, &ts); if (level <= DBGBAD && DbgLastObj) { fprintf(stdout, " <%s>: ", M(DbgLastObj)); } else { fputs(": ", stdout); } vfprintf(stdout, fmt, args); fputc(NEWLINE, stdout); } if (Log && DbgOn(flag, level)) { TsPrint(Log, &ts); fputs(": ", Log); if (level <= DBGBAD) { if (DbgLastObj) fprintf(Log, "!!!! <%s>: ", M(DbgLastObj)); else fputs("!!!! ", Log); } vfprintf(Log, fmt, args); fputc(NEWLINE, Log); fflush(Log); } if (Interrupt) { Interrupt = 0; while (1) Tool_Shell_Std(); } va_end(args); }