static void PrintLineInfo( char *buffer ) { PrtLst( buffer ); if( CurrFile->link == NULL ) { PrtLst( " " ); } else { PrtLst( "+" ); } PrtLstNL( SrcBuff ); }
void PrtOptions( void ) { //==================== // Display current options in listing file. opt_entry *optn; char buffer[30]; char *buff; unsigned_32 number; LFSkip(); PrtLst( "Options:" ); buffer[ 0 ] = ' '; number = 0; optn = CompOptns; for( optn = CompOptns; optn->option != NULL; optn++ ) { if( optn->flags & VAL ) { // the following check will only work if // OPT_DEFINE is a "VAL" option if( optn->value == OPT_DEFINE ) continue; if( optn->value == CGOPT_DATA_THRESH ) { number = DataThreshold; } buff = GetOptName( buffer, optn->option ); *buff = '='; ++buff; if( optn->value == OPT_INCPATH ) { if( IncludePath == NULL ) continue; *buff = NULLCHAR; PrtLst( buffer ); PrtLst( IncludePath ); buffer[ 0 ] = ','; continue; } if( optn->value == CGOPT_OBJ_NAME ) { if( ObjName == NULL ) continue; *buff = NULLCHAR; PrtLst( buffer ); PrtLst( ObjName ); buffer[ 0 ] = ','; continue; } buff += sprintf( buff, "%lu", (unsigned long)number ); PrtLst( buffer ); buffer[ 0 ] = ','; } else { if( optn->flags & CG ) { if( optn->flags & NEG ) { if( CGOpts & optn->value ) continue; } else { if( ( CGOpts & optn->value ) == 0 ) continue; } } else if( optn->flags & CPU ) { if( optn->flags & NEG ) { if( CPUOpts & optn->value ) continue; } else { if( ( CPUOpts & optn->value ) == 0 ) continue; } } else if( optn->flags & OZ ) { if( optn->flags & NEG ) { if( _BitsMatched( OZOpts, optn->value ) ) continue; } else { if( !_BitsMatched( OZOpts, optn->value ) ) continue; } } else if( optn->value == OPT_XLINE ) { if( LastColumn == LAST_COL ) continue; } else { if( optn->flags & NEG ) { if( Options & optn->value ) continue; } else { if( ( Options & optn->value ) == 0 ) continue; } } GetOptName( buffer, optn->option ); PrtLst( buffer ); buffer[ 0 ] = ','; } } PrtLstNL( "" ); LFSkip(); }