Main: add overload with ConfigData parameter

This commit is contained in:
Max Kellermann 2019-05-29 15:08:26 +02:00
parent 93ab957800
commit 49ba76167e
1 changed files with 25 additions and 20 deletions

View File

@ -390,10 +390,8 @@ mpd_main_after_fork(const ConfigData &raw_config,
const Config &config);
static inline void
MainOrThrow(int argc, char *argv[])
MainConfigured(const struct options &options, const ConfigData &raw_config)
{
struct options options;
#ifdef ENABLE_DAEMON
daemonize_close_stdin();
#endif
@ -413,23 +411,6 @@ MainOrThrow(int argc, char *argv[])
const ODBus::ScopeInit dbus_init;
#endif
ConfigData raw_config;
#ifdef ANDROID
(void)argc;
(void)argv;
const auto sdcard = Environment::getExternalStorageDirectory();
if (!sdcard.IsNull()) {
const auto config_path =
sdcard / Path::FromFS("mpd.conf");
if (FileExists(config_path))
ReadConfigFile(raw_config, config_path);
}
#else
ParseCommandLine(argc, argv, options, raw_config);
#endif
InitPathParser(raw_config);
const auto config = LoadConfig(raw_config);
@ -474,6 +455,30 @@ MainOrThrow(int argc, char *argv[])
mpd_main_after_fork(raw_config, config);
}
static inline void
MainOrThrow(int argc, char *argv[])
{
struct options options;
ConfigData raw_config;
#ifdef ANDROID
(void)argc;
(void)argv;
const auto sdcard = Environment::getExternalStorageDirectory();
if (!sdcard.IsNull()) {
const auto config_path =
sdcard / Path::FromFS("mpd.conf");
if (FileExists(config_path))
ReadConfigFile(raw_config, config_path);
}
#else
ParseCommandLine(argc, argv, options, raw_config);
#endif
MainConfigured(options, raw_config);
}
#ifdef ANDROID
static inline
#endif