Main: catch exceptions in all of main()

This commit is contained in:
Max Kellermann 2016-10-28 21:20:35 +02:00
parent 0c464b24ad
commit 16d1c9f5d6
1 changed files with 16 additions and 18 deletions

View File

@ -389,7 +389,7 @@ static int mpd_main_after_fork(struct options);
static inline
#endif
int mpd_main(int argc, char *argv[])
{
try {
struct options options;
Error error;
@ -414,28 +414,23 @@ int mpd_main(int argc, char *argv[])
io_thread_init();
config_global_init();
try {
#ifdef ANDROID
(void)argc;
(void)argv;
(void)argc;
(void)argv;
const auto sdcard = Environment::getExternalStorageDirectory();
if (!sdcard.IsNull()) {
const auto config_path =
AllocatedPath::Build(sdcard, "mpd.conf");
if (FileExists(config_path))
ReadConfigFile(config_path);
}
const auto sdcard = Environment::getExternalStorageDirectory();
if (!sdcard.IsNull()) {
const auto config_path =
AllocatedPath::Build(sdcard, "mpd.conf");
if (FileExists(config_path))
ReadConfigFile(config_path);
}
#else
if (!parse_cmdline(argc, argv, &options, error)) {
LogError(error);
return EXIT_FAILURE;
}
#endif
} catch (const std::exception &e) {
LogError(e);
if (!parse_cmdline(argc, argv, &options, error)) {
LogError(error);
return EXIT_FAILURE;
}
#endif
#ifdef ENABLE_DAEMON
if (!glue_daemonize_init(&options, error)) {
@ -496,6 +491,9 @@ int mpd_main(int argc, char *argv[])
#else
return mpd_main_after_fork(options);
#endif
} catch (const std::exception &e) {
LogError(e);
return EXIT_FAILURE;
}
static int mpd_main_after_fork(struct options options)