diff --git a/engine/common/cmd.c b/engine/common/cmd.c index 1df7287b..9eeb1c68 100644 --- a/engine/common/cmd.c +++ b/engine/common/cmd.c @@ -1171,17 +1171,21 @@ void Cmd_List_f( void ) { cmd_t *cmd; int i = 0; - const char *match; + size_t matchlen = 0; + const char *match = NULL; - if( Cmd_Argc() > 1 ) match = Cmd_Argv( 1 ); - else match = NULL; + if( Cmd_Argc() > 1 ) + { + match = Cmd_Argv( 1 ); + matchlen = Q_strlen( match ); + } for( cmd = cmd_functions; cmd; cmd = cmd->next ) { if( cmd->name[0] == '@' ) continue; // never show system cmds - if( match && !Q_stricmpext( match, cmd->name )) + if( match && !Q_strnicmpext( match, cmd->name, matchlen )) continue; Con_Printf( " %-*s ^3%s^7\n", 32, cmd->name, cmd->desc ); diff --git a/engine/common/cvar.c b/engine/common/cvar.c index 0e33ef31..752a6846 100644 --- a/engine/common/cvar.c +++ b/engine/common/cvar.c @@ -934,16 +934,20 @@ void Cvar_List_f( void ) const char *match = NULL; char *value; int count = 0; + size_t matchlen = 0; if( Cmd_Argc() > 1 ) + { match = Cmd_Argv( 1 ); + matchlen = Q_strlen( match ); + } for( var = cvar_vars; var; var = var->next ) { if( var->name[0] == '@' ) continue; // never shows system cvars - if( match && !Q_stricmpext( match, var->name )) + if( match && !Q_strnicmpext( match, var->name, matchlen )) continue; if( Q_colorstr( var->string ))