void SourceSet( void ) { char_ring **owner; char *start; unsigned len; if( CurrToken == T_DIV ) { Scan(); if( ScanCmd( AddTab ) == 0 ) { Error( ERR_LOC, LIT( ERR_BAD_SUBCOMMAND ), GetCmdName( CMD_SET ) ); } owner = RingEnd( &SrcSpec ); } else { owner = &SrcSpec; FiniSource(); } while( ScanItem( TRUE, &start, &len ) ) { while( len > 0 && *start == ' ' ) { ++start; --len; } InsertRing( owner, start, len ); } DbgUpdate( UP_NEW_SRC ); }
void BreakOnImageLoad( const char *name, unsigned len, bool clear ) { if( clear ) { DeleteRing( &DLLList, name, len, true ); } else { InsertRing( RingEnd( &DLLList ), name, len, true ); } GetBreakOnImageCmd( name, TxtBuff, clear ); RecordEvent( TxtBuff ); }
void FindLocalDebugInfo( const char *name ) { char *buff, *symfile; size_t len; file_handle fh; len = strlen( name ); _AllocA( buff, len + 1 + 4 + 2 ); _AllocA( symfile, len + 1 + 4 ); strcpy( buff, "@l" ); // If a .sym file is present, use it in preference to the executable fh = FullPathOpen( name, ExtPointer( name, OP_LOCAL ) - name, "sym", symfile, len + 4 ); if( fh != NIL_HANDLE ) { strcat( buff, symfile ); FileClose( fh ); } else { strcat( buff, name ); } InsertRing( RingEnd( &LocalDebugInfo ), buff, strlen( buff ), false ); }
void FindLocalDebugInfo( const char *name ) { char *buff, *symname; unsigned len; handle local; len = strlen( name ); _AllocA( buff, len + 1 + 4 + 2 ); _AllocA( symname, len + 1 + 4 ); strcpy( buff, "@l" ); // If a .sym file is present, use it in preference to the executable local = FullPathOpen( name, ExtPointer( name, OP_LOCAL ) - name, "sym", symname, len + 4 ); if( local != NIL_HANDLE ) { strcat( buff, symname ); FileClose( local ); } else { strcat( buff, name ); } InsertRing( RingEnd( &LocalDebugInfo ), buff, strlen( buff ), FALSE ); }
void AddSourceSpec( char *str ) { InsertRing( RingEnd( &SrcSpec ), str, strlen( str ) ); }
void AddDLLList( const char *start, unsigned len ) { InsertRing( RingEnd( &DLLList ), start, len, true ); }
void AddDLLList( char *name ) { strupr( name ); InsertRing( RingEnd( &DLLList ), name, strlen( name ) ); }
void AddSourceSpec( const char *start, unsigned len ) { InsertRing( RingEnd( &SrcSpec ), start, len, false ); }