From 21a95f5ed98204c2b4cb5ca00ea8498f0db07a9e Mon Sep 17 00:00:00 2001 From: wm4 Date: Sun, 15 Feb 2015 14:28:49 +0100 Subject: player: undeprecate 'config' files Actually, it's pretty simple to look for multiple filenames at once, since mp_find_all_config_files() is already a bit "special" anyway. See #1569. Reverts most of commit db167cd4 (keeps osx-bundle.conf). (cherry picked from commit a27aa68dd33c613218d261b14ef1cf763abc1c33) --- options/path.c | 15 +++++++++------ options/path.h | 3 ++- player/configfiles.c | 27 +++++---------------------- 3 files changed, 16 insertions(+), 29 deletions(-) diff --git a/options/path.c b/options/path.c index 5783e2e549..6ae0fc4d11 100644 --- a/options/path.c +++ b/options/path.c @@ -147,12 +147,15 @@ char **mp_find_all_config_files(void *talloc_ctx, struct mpv_global *global, char **dirs = mp_config_dirs(NULL, global); for (int i = 0; dirs && dirs[i]; i++) { - char *file = talloc_asprintf(ret, "%s/%s", dirs[i], filename); - - if (!mp_path_exists(file) || num_ret >= MAX_CONFIG_PATHS) - continue; - - ret[num_ret++] = file; + bstr s = bstr0(filename); + while (s.len) { + bstr fn; + bstr_split_tok(s, "|", &fn, &s); + + char *file = talloc_asprintf(ret, "%s/%.*s", dirs[i], BSTR_P(fn)); + if (mp_path_exists(file) && num_ret < MAX_CONFIG_PATHS) + ret[num_ret++] = file; + } } talloc_free(dirs); diff --git a/options/path.h b/options/path.h index 6e64cd1d3c..44c3489396 100644 --- a/options/path.h +++ b/options/path.h @@ -33,7 +33,8 @@ char *mp_find_config_file(void *talloc_ctx, struct mpv_global *global, const char *filename); // Find all instances of the given config file. Paths are returned in order -// from lowest to highest priority. +// from lowest to highest priority. filename can contain multiple names +// separated with '|', with the first having highest priority. char **mp_find_all_config_files(void *talloc_ctx, struct mpv_global *global, const char *filename); diff --git a/player/configfiles.c b/player/configfiles.c index 466f248b04..463d1a4f41 100644 --- a/player/configfiles.c +++ b/player/configfiles.c @@ -46,29 +46,13 @@ #include "core.h" #include "command.h" -static int load_all_cfgfiles(struct MPContext *mpctx, char *section, - char *filename, bool bork) +static void load_all_cfgfiles(struct MPContext *mpctx, char *section, + char *filename) { char **cf = mp_find_all_config_files(NULL, mpctx->global, filename); - int count = 0; - for (int i = 0; cf && cf[i]; i++) { - if (strcmp(filename, "config") == 0) { - MP_WARN(mpctx, "Loading %s - naming the mpv config files 'config' is " - "deprecated. Please rename it to 'mpv.conf'\n", cf[i]); - } - if (bork) { - MP_WARN(mpctx, "Warning: your system has a 'mpv.conf' somewhere " - "(check with -v), which will shadow 'config'. This " - "is probably unintended, and you should not mix " - "'config' and 'mpv.conf' files.\n" - "Just rename this file to mpv.conf.\n"); - bork = false; - } + for (int i = 0; cf && cf[i]; i++) m_config_parse_config_file(mpctx->mconfig, cf[i], section, 0); - count++; - } talloc_free(cf); - return count; } #define SECT_ENCODE "encoding" @@ -103,11 +87,10 @@ void mp_parse_cfgfiles(struct MPContext *mpctx) // Stupid hack to set OSX bundle defaults, if applicable. (The file is only // found if starting from the OSX bundle.) #if HAVE_COCOA - load_all_cfgfiles(mpctx, section, "osx-bundle.conf", false); + load_all_cfgfiles(mpctx, section, "osx-bundle.conf"); #endif - int count = load_all_cfgfiles(mpctx, section, "mpv.conf", false); - load_all_cfgfiles(mpctx, section, "config", count > 0); + load_all_cfgfiles(mpctx, section, "mpv.conf|config"); if (encoding) m_config_set_profile(conf, m_config_add_profile(conf, SECT_ENCODE), 0); -- cgit v1.2.3