void IOErr( int errcode, ... ) { //================================= // Handle a run time i/o error. char errbuff[ERR_BUFF_SIZE+1]; va_list args; va_start( args, errcode ); if( ( IOCB->set_flags & (SET_IOSPTR|SET_ERRSTMT) ) == 0 ) { if( errcode == IO_FILE_PROBLEM ) { GetIOErrMsg( IOCB->fileinfo, errbuff ); SysIOErr( errcode, errbuff ); } else { RTErrHandler( errcode, args ); } } else { errcode = ErrCodOrg( errcode ); if( IOCB->fileinfo != NULL ) { IOCB->fileinfo->error = errcode; } IOCB->status = errcode; } RTSuicide(); va_end( args ); }
static void SysIOErr( int errcode, ... ) { //============================================ va_list args; va_start( args, errcode ); RTErrHandler( errcode, args ); va_end( args ); }
void RTErr( int errcode, ... ) { //================================= // Print a run-time error message and halt execution. va_list args; RTSysInit(); va_start( args, errcode ); RTErrHandler( errcode, args ); va_end( args ); }