mirror of https://github.com/OpenTTD/OpenTTD
Fix #13307: Return non-zero value when there is a mistake in command-line arguments
Specifically, when the savegame passed to -q cannot be read or when non-existent/invalid options are passedpull/13547/head
parent
b2c5712319
commit
cf9c6fcc57
|
@ -625,6 +625,7 @@ int openttd_main(std::span<char * const> arguments)
|
|||
SetDParamStr(0, _load_check_data.error_msg);
|
||||
fmt::print(stderr, "{}\n", GetString(_load_check_data.error));
|
||||
}
|
||||
ret = 1;
|
||||
return ret;
|
||||
}
|
||||
|
||||
|
@ -640,14 +641,12 @@ int openttd_main(std::span<char * const> arguments)
|
|||
case 'c': _config_file = mgo.opt; break;
|
||||
case 'x': scanner->save_config = false; break;
|
||||
case 'X': only_local_path = true; break;
|
||||
case 'h':
|
||||
i = -2; // Force printing of help.
|
||||
break;
|
||||
case 'h': break; // handled below
|
||||
}
|
||||
if (i == -2) break;
|
||||
if (i == 'h' || i == -2) break;
|
||||
}
|
||||
|
||||
if (i == -2 || !mgo.arguments.empty()) {
|
||||
if (i == 'h' || i == -2 || !mgo.arguments.empty()) {
|
||||
/* Either the user typed '-h', they made an error, or they added unrecognized command line arguments.
|
||||
* In all cases, print the help, and exit.
|
||||
*
|
||||
|
@ -659,6 +658,7 @@ int openttd_main(std::span<char * const> arguments)
|
|||
BaseSounds::FindSets();
|
||||
BaseMusic::FindSets();
|
||||
ShowHelp();
|
||||
if (i != 'h') ret = 1;
|
||||
return ret;
|
||||
}
|
||||
|
||||
|
|
Loading…
Reference in New Issue