Fix environment variable handling for Linux, make setenv command added before parsing of configuration files. (https://bugzilla.icculus.org/show_bug.cgi?id=3626)
This commit is contained in:
parent
387dc9d6ff
commit
d86dd71327
2 changed files with 53 additions and 50 deletions
|
@ -1450,41 +1450,6 @@ void CL_ForwardToServer_f( void ) {
|
|||
}
|
||||
}
|
||||
|
||||
/*
|
||||
==================
|
||||
CL_Setenv_f
|
||||
|
||||
Mostly for controlling voodoo environment variables
|
||||
==================
|
||||
*/
|
||||
void CL_Setenv_f( void ) {
|
||||
int argc = Cmd_Argc();
|
||||
|
||||
if ( argc > 2 ) {
|
||||
char buffer[1024];
|
||||
int i;
|
||||
|
||||
strcpy( buffer, Cmd_Argv(1) );
|
||||
strcat( buffer, "=" );
|
||||
|
||||
for ( i = 2; i < argc; i++ ) {
|
||||
strcat( buffer, Cmd_Argv( i ) );
|
||||
strcat( buffer, " " );
|
||||
}
|
||||
|
||||
putenv( buffer );
|
||||
} else if ( argc == 2 ) {
|
||||
char *env = getenv( Cmd_Argv(1) );
|
||||
|
||||
if ( env ) {
|
||||
Com_Printf( "%s=%s\n", Cmd_Argv(1), env );
|
||||
} else {
|
||||
Com_Printf( "%s undefined\n", Cmd_Argv(1));
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
/*
|
||||
==================
|
||||
CL_Disconnect_f
|
||||
|
@ -3238,7 +3203,6 @@ void CL_Init( void ) {
|
|||
Cmd_AddCommand ("globalservers", CL_GlobalServers_f);
|
||||
Cmd_AddCommand ("rcon", CL_Rcon_f);
|
||||
Cmd_SetCommandCompletionFunc( "rcon", CL_CompleteRcon );
|
||||
Cmd_AddCommand ("setenv", CL_Setenv_f );
|
||||
Cmd_AddCommand ("ping", CL_Ping_f );
|
||||
Cmd_AddCommand ("serverstatus", CL_ServerStatus_f );
|
||||
Cmd_AddCommand ("showip", CL_ShowIP_f );
|
||||
|
@ -3305,7 +3269,6 @@ void CL_Shutdown( void ) {
|
|||
Cmd_RemoveCommand ("localservers");
|
||||
Cmd_RemoveCommand ("globalservers");
|
||||
Cmd_RemoveCommand ("rcon");
|
||||
Cmd_RemoveCommand ("setenv");
|
||||
Cmd_RemoveCommand ("ping");
|
||||
Cmd_RemoveCommand ("serverstatus");
|
||||
Cmd_RemoveCommand ("showip");
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue