diff options
author | Stefano Pigozzi <stefano.pigozzi@gmail.com> | 2012-12-09 15:05:21 +0100 |
---|---|---|
committer | Stefano Pigozzi <stefano.pigozzi@gmail.com> | 2012-12-15 17:38:00 +0100 |
commit | fab9febdc3a863c157a56cc4de2418cbb9665844 (patch) | |
tree | 8c442f1f04d67587d91f7f5427d5c90d7a99ff0e /core/mplayer.c | |
parent | c7bf5111c7db05dc5b1750ff285e343849293dd3 (diff) | |
download | mpv-fab9febdc3a863c157a56cc4de2418cbb9665844.tar.bz2 mpv-fab9febdc3a863c157a56cc4de2418cbb9665844.tar.xz |
path: add mp_find_config_file and reorganize some of the code
Add `mp_find_config_file` to search different known paths and use that in
ass_mp to look for the fontconfig configuration file.
Some incidental changes spawned by this feature where:
* Buffer allocation for the strings containing the paths is now performed
with talloc. All of the allocations are done on a NULL context, but it still
improves readability of the code.
* Move the OSX function for lookup inside of a bundle: this code path was
currently not used by the bundle generated with `make osxbundle`. The plan
is to use it again in a future commit to get a fontconfig config file.
Diffstat (limited to 'core/mplayer.c')
-rw-r--r-- | core/mplayer.c | 15 |
1 files changed, 8 insertions, 7 deletions
diff --git a/core/mplayer.c b/core/mplayer.c index c68c4f3dc2..c57062517d 100644 --- a/core/mplayer.c +++ b/core/mplayer.c @@ -702,13 +702,14 @@ static bool parse_cfgfiles(struct MPContext *mpctx, m_config_t *conf) if (!(opts->noconfig & 2) && m_config_parse_config_file(conf, MPLAYER_CONFDIR "/mpv.conf") < 0) return false; - if ((conffile = get_path("")) == NULL) + if ((conffile = mp_find_user_config_file("")) == NULL) mp_tmsg(MSGT_CPLAYER, MSGL_WARN, "Cannot find HOME directory.\n"); else { mkdir(conffile, 0777); - free(conffile); - if ((conffile = get_path("config")) == NULL) - mp_tmsg(MSGT_CPLAYER, MSGL_ERR, "get_path(\"config\") problem\n"); + talloc_free(conffile); + if ((conffile = mp_find_user_config_file("config")) == NULL) + mp_tmsg(MSGT_CPLAYER, MSGL_ERR, + "mp_find_user_config_file(\"config\") problem\n"); else { if ((conffile_fd = open(conffile, O_CREAT | O_EXCL | O_WRONLY, 0666)) != -1) { @@ -720,7 +721,7 @@ static bool parse_cfgfiles(struct MPContext *mpctx, m_config_t *conf) if (!(opts->noconfig & 1) && m_config_parse_config_file(conf, conffile) < 0) return false; - free(conffile); + talloc_free(conffile); } } return true; @@ -826,10 +827,10 @@ static void load_per_file_config(m_config_t *conf, const char * const file) return; } - if ((confpath = get_path(name)) != NULL) { + if ((confpath = mp_find_user_config_file(name)) != NULL) { try_load_config(conf, confpath); - free(confpath); + talloc_free(confpath); } } |