void SetFuncSegment( SYMPTR sym, segment_id segid ) { user_seg *useg; for( useg = userSegments; useg != NULL; useg = useg->next ) { if( useg->segid == segid ) { sym->seginfo = LkSegName( useg->name, "CODE" ); break; } } }
void SetFuncSegment( SYMPTR sym, int segment ) { struct user_seg *useg; for( useg = UserSegments; useg; useg = useg->next ) { if( useg->segment == segment ) { sym->seginfo = LkSegName( useg->name, "CODE" ); break; } } }
local void PragAllocText( void ) /* 26-oct-91 */ /******************************/ { struct textsegment *seg; SYM_HANDLE sym_handle; auto SYM_ENTRY sym; if( ExpectingToken( T_LEFT_PAREN ) ) { NextToken(); /* current token can be an T_ID or a T_STRING */ seg = LkSegName( Buffer, "" ); NextToken(); for( ; ; ) { MustRecog( T_COMMA ); /* current token can be an T_ID or a T_STRING */ sym_handle = Sym0Look( CalcHash( Buffer, strlen( Buffer ) ), Buffer ); if( sym_handle == 0 ) { /* error */ } else { SymGet( &sym, sym_handle ); if( sym.flags & SYM_FUNCTION ) { sym.seginfo = seg; SymReplace( &sym, sym_handle ); } else { /* error, must be function */ } } NextToken(); if( CurToken == T_RIGHT_PAREN ) break; if( CurToken == T_EOF ) break; if( CurToken == T_NULL ) { break; } } #if _CPU == 8086 || _CPU == 386 CompFlags.multiple_code_segments = 1; #endif MustRecog( T_RIGHT_PAREN ); } }
static void PragCodeSeg( void ) /* 22-oct-92 */ /*****************************/ { textsegment *seg; char *segname; char *classname; if( CurToken == T_LEFT_PAREN ) { PPCTL_ENABLE_MACROS(); seg = NULL; NextToken(); if( ( CurToken == T_STRING ) || ( CurToken == T_ID ) ) { segname = CStrSave( Buffer ); classname = CStrSave( "" ); NextToken(); if( CurToken == T_COMMA ) { NextToken(); if( ( CurToken == T_STRING ) || ( CurToken == T_ID ) ) { CMemFree( classname ); classname = CStrSave( Buffer ); // CodeClassName = CStrSave( Buffer ); /* 13-apr-93 */ NextToken(); } } seg = LkSegName( segname, classname ); CMemFree( segname ); CMemFree( classname ); } PPCTL_DISABLE_MACROS(); MustRecog( T_RIGHT_PAREN ); DefCodeSegment = seg; #if _CPU == 8086 || _CPU == 386 CompFlags.multiple_code_segments = 1; #endif } }