static void MemTrackInit( void ) { char name[FILENAME_MAX]; TrackFile = STDERR_FILENO; if( DUIEnvLkup( "TRMEMFILE", name, sizeof( name ) ) ) { TrackFile = open( name, O_CREAT+O_RDWR+O_TEXT+O_TRUNC ); } TRMemOpen(); }
void ProcCmd( void ) { char buff[TXT_LEN]; unsigned screen_mem; size_t have_env; int pass; MemSize = MIN_MEM_SIZE; TrapParms = NULL; _SwitchOn( SW_LOAD_SYMS ); _SwitchOn( SW_USE_MOUSE ); ProcSysOptInit(); DUIScreenOptInit(); have_env = DUIEnvLkup( EXENAME, buff, sizeof( buff ) ); for( pass = 1; pass <= 2; ++pass ) { if( have_env ) { GetArg = &GetEnvArg; CurrArgc = 0; CurrArgp = buff; ProcOptList( pass ); if( CurrChar != ARG_TERMINATE ) { OptError( LIT_ENG( STARTUP_Expect_End_Env_Str ) ); } } GetArg = &GetCmdArg; CurrArgc = 0; CurrArgp = GetCmdArg( 0 ); if( CurrArgp != NULL ) { ProcOptList( pass ); if( pass == 2 ) { SetCmdArgStart( CurrArgc, CurrArgp ); } } if( pass == 1 ) { screen_mem = DUIConfigScreen(); if( MemSize + screen_mem >= MemSize ) { MemSize += screen_mem; } else { MemSize = ~0; } SysSetMemLimit(); TrapParms = DupStr( "std" ); InvokeFile = DupStr( "" ); } } }