1
0
Fork 0

Compare commits

...

2 Commits

Author SHA1 Message Date
merni-ns 6488390912
Merge cf9c6fcc57 into aaf5d39b15 2025-07-11 04:45:48 +00:00
merni-ns cf9c6fcc57 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 passed
2025-02-13 23:26:22 +05:30
1 changed files with 5 additions and 5 deletions

View File

@ -625,6 +625,7 @@ int openttd_main(std::span<std::string_view> arguments)
InitializeLanguagePacks(); // A language pack is needed for GetString() InitializeLanguagePacks(); // A language pack is needed for GetString()
fmt::print(stderr, "{}\n", GetString(_load_check_data.error, _load_check_data.error_msg)); fmt::print(stderr, "{}\n", GetString(_load_check_data.error, _load_check_data.error_msg));
} }
ret = 1;
return ret; return ret;
} }
@ -646,14 +647,12 @@ int openttd_main(std::span<std::string_view> arguments)
case 'c': _config_file = mgo.opt; break; case 'c': _config_file = mgo.opt; break;
case 'x': scanner->save_config = false; break; case 'x': scanner->save_config = false; break;
case 'X': only_local_path = true; break; case 'X': only_local_path = true; break;
case 'h': case 'h': break; // handled below
i = -2; // Force printing of help.
break;
} }
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. /* Either the user typed '-h', they made an error, or they added unrecognized command line arguments.
* In all cases, print the help, and exit. * In all cases, print the help, and exit.
* *
@ -665,6 +664,7 @@ int openttd_main(std::span<std::string_view> arguments)
BaseSounds::FindSets(); BaseSounds::FindSets();
BaseMusic::FindSets(); BaseMusic::FindSets();
ShowHelp(); ShowHelp();
if (i != 'h') ret = 1;
return ret; return ret;
} }