mirror of https://github.com/OpenTTD/OpenTTD.git
(svn r19074) -Change: when filtering list of settings and console commands, use strstr() instead of strncmp()
This commit is contained in:
parent
4cd2ad0a5f
commit
b91b3ac836
|
@ -1394,17 +1394,14 @@ DEF_CONSOLE_CMD(ConHelp)
|
|||
DEF_CONSOLE_CMD(ConListCommands)
|
||||
{
|
||||
const IConsoleCmd *cmd;
|
||||
size_t l = 0;
|
||||
|
||||
if (argc == 0) {
|
||||
IConsoleHelp("List all registered commands. Usage: 'list_cmds [<pre-filter>]'");
|
||||
return true;
|
||||
}
|
||||
|
||||
if (argv[1] != NULL) l = strlen(argv[1]);
|
||||
|
||||
for (cmd = _iconsole_cmds; cmd != NULL; cmd = cmd->next) {
|
||||
if (argv[1] == NULL || strncmp(cmd->name, argv[1], l) == 0) {
|
||||
if (argv[1] == NULL || strstr(cmd->name, argv[1]) != NULL) {
|
||||
IConsolePrintF(CC_DEFAULT, "%s", cmd->name);
|
||||
}
|
||||
}
|
||||
|
@ -1415,19 +1412,17 @@ DEF_CONSOLE_CMD(ConListCommands)
|
|||
DEF_CONSOLE_CMD(ConListVariables)
|
||||
{
|
||||
const IConsoleVar *var;
|
||||
size_t l = 0;
|
||||
|
||||
if (argc == 0) {
|
||||
IConsoleHelp("List all registered variables. Usage: 'list_vars [<pre-filter>]'");
|
||||
return true;
|
||||
}
|
||||
|
||||
if (argv[1] != NULL) l = strlen(argv[1]);
|
||||
|
||||
for (var = _iconsole_vars; var != NULL; var = var->next) {
|
||||
if (argv[1] == NULL || strncmp(var->name, argv[1], l) == 0)
|
||||
if (argv[1] == NULL || strstr(var->name, argv[1]) != NULL) {
|
||||
IConsolePrintF(CC_DEFAULT, "%s", var->name);
|
||||
}
|
||||
}
|
||||
|
||||
return true;
|
||||
}
|
||||
|
@ -1435,19 +1430,17 @@ DEF_CONSOLE_CMD(ConListVariables)
|
|||
DEF_CONSOLE_CMD(ConListAliases)
|
||||
{
|
||||
const IConsoleAlias *alias;
|
||||
size_t l = 0;
|
||||
|
||||
if (argc == 0) {
|
||||
IConsoleHelp("List all registered aliases. Usage: 'list_aliases [<pre-filter>]'");
|
||||
return true;
|
||||
}
|
||||
|
||||
if (argv[1] != NULL) l = strlen(argv[1]);
|
||||
|
||||
for (alias = _iconsole_aliases; alias != NULL; alias = alias->next) {
|
||||
if (argv[1] == NULL || strncmp(alias->name, argv[1], l) == 0)
|
||||
if (argv[1] == NULL || strstr(alias->name, argv[1]) != NULL) {
|
||||
IConsolePrintF(CC_DEFAULT, "%s => %s", alias->name, alias->cmdline);
|
||||
}
|
||||
}
|
||||
|
||||
return true;
|
||||
}
|
||||
|
@ -1748,19 +1741,17 @@ DEF_CONSOLE_CMD(ConListSettings)
|
|||
DEF_CONSOLE_CMD(ConListDumpVariables)
|
||||
{
|
||||
const IConsoleVar *var;
|
||||
size_t l = 0;
|
||||
|
||||
if (argc == 0) {
|
||||
IConsoleHelp("List all variables with their value. Usage: 'dump_vars [<pre-filter>]'");
|
||||
return true;
|
||||
}
|
||||
|
||||
if (argv[1] != NULL) l = strlen(argv[1]);
|
||||
|
||||
for (var = _iconsole_vars; var != NULL; var = var->next) {
|
||||
if (argv[1] == NULL || strncmp(var->name, argv[1], l) == 0)
|
||||
if (argv[1] == NULL || strstr(var->name, argv[1]) != NULL) {
|
||||
IConsoleVarPrintGetValue(var);
|
||||
}
|
||||
}
|
||||
|
||||
return true;
|
||||
}
|
||||
|
|
|
@ -1767,9 +1767,7 @@ void IConsoleListSettings(const char *prefilter)
|
|||
|
||||
for (const SettingDesc *sd = _settings; sd->save.cmd != SL_END; sd++) {
|
||||
if (!SlIsObjectCurrentlyValid(sd->save.version_from, sd->save.version_to)) continue;
|
||||
if (prefilter != NULL) {
|
||||
if (strncmp(sd->desc.name, prefilter, min(strlen(sd->desc.name), strlen(prefilter))) != 0) continue;
|
||||
}
|
||||
if (prefilter != NULL && strstr(sd->desc.name, prefilter) == NULL) continue;
|
||||
char value[80];
|
||||
const void *ptr = GetVariableAddress((_game_mode == GM_MENU) ? &_settings_newgame : &_settings_game, &sd->save);
|
||||
|
||||
|
|
Loading…
Reference in New Issue