示例#1
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();
}
示例#2
0
void    Pause( string PGM *ptr ) {
//================================

// Process a PAUSE statement.

    RTSysInit();
    if( ptr != NULL ) {
        _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();
        StdBuffer();
        StdWrite( ptr->strptr, ptr->len );
        StdFlush();
        _ReleaseFIO();
    }
    WaitForEnter();
}