Command line arguments '--version' and '--help' return exit code 0 instead of 255
Allows to detect whether those commands executed successfully, which makes integration with shell scripts/CI/bindings straightforward.
(cherry picked from commit e3a8edf536
)
This commit is contained in:
parent
381e8dd278
commit
9e165a8c2b
1 changed files with 6 additions and 1 deletions
|
@ -478,6 +478,9 @@ Error Main::setup(const char *execpath, int argc, char *argv[], bool p_second_ph
|
|||
packed_data->add_pack_source(zip_packed_data);
|
||||
#endif
|
||||
|
||||
// Default exit code, can be modified for certain errors.
|
||||
Error exit_code = ERR_INVALID_PARAMETER;
|
||||
|
||||
I = args.front();
|
||||
while (I) {
|
||||
#ifdef OSX_ENABLED
|
||||
|
@ -494,10 +497,12 @@ Error Main::setup(const char *execpath, int argc, char *argv[], bool p_second_ph
|
|||
if (I->get() == "-h" || I->get() == "--help" || I->get() == "/?") { // display help
|
||||
|
||||
show_help = true;
|
||||
exit_code = OK;
|
||||
goto error;
|
||||
|
||||
} else if (I->get() == "--version") {
|
||||
print_line(get_full_version_string());
|
||||
exit_code = OK;
|
||||
goto error;
|
||||
|
||||
} else if (I->get() == "-v" || I->get() == "--verbose") { // verbose output
|
||||
|
@ -1328,7 +1333,7 @@ error:
|
|||
OS::get_singleton()->finalize_core();
|
||||
locale = String();
|
||||
|
||||
return ERR_INVALID_PARAMETER;
|
||||
return exit_code;
|
||||
}
|
||||
|
||||
Error Main::setup2(Thread::ID p_main_tid_override) {
|
||||
|
|
Loading…
Reference in a new issue