summaryrefslogtreecommitdiffstats
path: root/mplayer.c
diff options
context:
space:
mode:
authorreimar <reimar@b3059339-0415-0410-9bf9-f77b7e298cf2>2009-08-31 09:48:25 +0000
committerreimar <reimar@b3059339-0415-0410-9bf9-f77b7e298cf2>2009-08-31 09:48:25 +0000
commita0eda318e8d4b6a2acf52928896fdd211af66f06 (patch)
tree08343f8ecc7a477128526d7b7eb4097f061fd62b /mplayer.c
parent1cd2feed03969cf7753d288cd99c0ea8a3cecbff (diff)
downloadmpv-a0eda318e8d4b6a2acf52928896fdd211af66f06.tar.bz2
mpv-a0eda318e8d4b6a2acf52928896fdd211af66f06.tar.xz
Factor out code to try and load a config file only if it exists.
git-svn-id: svn://svn.mplayerhq.hu/mplayer/trunk@29603 b3059339-0415-0410-9bf9-f77b7e298cf2
Diffstat (limited to 'mplayer.c')
-rw-r--r--mplayer.c27
1 files changed, 16 insertions, 11 deletions
diff --git a/mplayer.c b/mplayer.c
index 3189855558..2785346529 100644
--- a/mplayer.c
+++ b/mplayer.c
@@ -913,21 +913,30 @@ static void load_per_output_config (m_config_t* conf, char *cfg, char *out)
}
}
+/**
+ * Tries to load a config file
+ * @return 0 if file was not found, 1 otherwise
+ */
+static int try_load_config(m_config_t *conf, const char *file)
+{
+ struct stat st;
+ if (stat(file, &st))
+ return 0;
+ mp_msg(MSGT_CPLAYER,MSGL_INFO,MSGTR_LoadingConfig, file);
+ m_config_parse_config_file (conf, file);
+ return 1;
+}
+
static void load_per_file_config (m_config_t* conf, const char *const file)
{
char *confpath;
char cfg[strlen(file)+10];
- struct stat st;
char *name;
sprintf (cfg, "%s.conf", file);
- if (use_filedir_conf && !stat (cfg, &st))
- {
- mp_msg(MSGT_CPLAYER,MSGL_INFO,MSGTR_LoadingConfig, cfg);
- m_config_parse_config_file (conf, cfg);
+ if (use_filedir_conf && try_load_config(conf, cfg))
return;
- }
if ((name = strrchr (cfg, '/')) == NULL)
name = cfg;
@@ -936,11 +945,7 @@ static void load_per_file_config (m_config_t* conf, const char *const file)
if ((confpath = get_path (name)) != NULL)
{
- if (!stat (confpath, &st))
- {
- mp_msg(MSGT_CPLAYER,MSGL_INFO,MSGTR_LoadingConfig, confpath);
- m_config_parse_config_file (conf, confpath);
- }
+ try_load_config(conf, confpath);
free (confpath);
}