Example #1
0
static  void    TraceInfo( char *buff ) {
//=======================================

    traceback   *tb;

    MsgBuffer( MS_TRACE_INFO, buff, ExCurr->line, ExCurr->name );
    StdWriteNL( buff, strlen( buff ) );
    for( tb = ExCurr->link; tb != NULL; tb = tb->link ) {
        MsgBuffer( MS_CALLED_FROM, buff, tb->line, tb->name );
        StdWriteNL( buff, strlen( buff ) );
    }
}
Example #2
0
void    WriteErr( int errcode, va_list args ) {
//=============================================

// Write error message.

    char        buffer[ERR_PREF_SIZE+ERR_BUFF_SIZE+1];

    _AccessFIO();
    // Before writing the error message, flush standard output files so that if
    // unit 6 is connected to the standard output device which has been
    // redirected to a file, the file gets flushed before the error message is
    // written.
    FlushStdUnit();
    strcpy( buffer, ErrorPref );
    BldErrCode( errcode, &buffer[ ERR_PREF_SIZE ] );
    __BldErrMsg( errcode, &buffer[ERR_PREF_SIZE + ERR_CODE_SIZE], args );
    if( __EnterWVIDEO( buffer ) ) {
        StdBuffer();
    } else {
        StdBuffer();
        StdWriteNL( buffer, strlen( buffer ) );
    }
    ERR_HOOK( errcode, buffer );
    StdFlush();
    _ReleaseFIO();
}