int main( int argc, char *argv[] ) { //====================================== // FORTRAN compiler main line. int ret_code; char *opts[MAX_OPTIONS+1]; char *p; #if !defined( __INCL_ERRMSGS__ ) char imageName[_MAX_PATH]; #endif #if !defined( __WATCOMC__ ) _argc = argc; _argv = argv; #else argc = argc; argv = argv; #endif #if defined( __INCL_ERRMSGS__ ) __InitError(); __ErrorInit( NULL ); #else _cmdname( imageName ); __InitResource(); __ErrorInit( imageName ); #endif #if defined( _M_IX86 ) _real87 = _8087 = 0; #endif p = getenv( _WFC ); if( p != NULL && *p != '\0' ) { strcpy( CmdBuff, p ); p = &CmdBuff[ strlen( p ) ]; *p = ' '; ++p; } else { p = CmdBuff; } getcmd( p ); ret_code = 0; InitCompMain(); if( MainCmdLine( &SrcName, &CmdPtr, opts, CmdBuff ) ) { SrcExtn = SDSrcExtn( SrcName ); // parse the file name in case we get ProcOpts( opts ); // an error in ProcOpts() so error InitPredefinedMacros(); // file can be created ret_code = CompMain( CmdBuff ); } else { ShowUsage(); } FiniCompMain(); __ErrorFini(); return( ret_code ); }
static lib_handle FindSrcFile( char *fname ) { //============================================= // Find a source file. lib_handle lp; MakeName( fname, SDSrcExtn( fname ), fname ); lp = SDOpen( fname, READ_FILE ); if( lp != NULL ) { SrcInclude( fname ); } return( lp ); }
void Include( char *inc_name ) { //================================= file_handle fp; char bld_name[MAX_FILE+1]; char err_msg[ERR_BUFF_SIZE+1]; SDInitAttr(); CopyMaxStr( inc_name, bld_name, MAX_FILE ); MakeName( bld_name, SDSrcExtn( bld_name ), bld_name ); if( AlreadyOpen( inc_name ) ) return; if( AlreadyOpen( bld_name ) ) return; // try file called <include_name>.FOR. fp = SDOpen( bld_name, READ_FILE ); if( fp != NULL ) { SrcInclude( bld_name ); CurrFile->fileptr = fp; } else { // get error message before next i/o SDError( NULL, err_msg ); // try library fp = IncSearch( inc_name ); if( fp != NULL ) { // SrcInclude( inc_name ) now done in LIBSUPP CurrFile->fileptr = fp; CurrFile->flags |= INC_LIB_MEMBER; } else { // could not open include file InfoError( SM_OPENING_FILE, bld_name, err_msg ); } } // clear RetCode so that we don't get "file not found" returned // because we could not open include file RetCode = _SUCCESSFUL; AddDependencyInfo( CurrFile ); }