mirror of https://github.com/mpv-player/mpv
options: make --no-config block all auto-loaded configuration files
Until now, the --no-config was explicitly checked in multiple places to suppress loading of config files. Add such a check to the config path code itself, and refuse to resolve _any_ configuration file locations if the option is set. osc.lua needs a small fixup, because it didn't handle the situation when no path was returned. There may some of such cases in the C code too, but I didn't find any on a quick look.
This commit is contained in:
parent
c2e8f8fb89
commit
ce6fb9175c
|
@ -1412,10 +1412,8 @@ OPTIONS
|
|||
``--no-config``
|
||||
Do not load default configuration files. This prevents loading of
|
||||
``~/.mpv/config`` and ``~/.mpv/input.conf``, as well as loading the
|
||||
same files from system wide configuration directories.
|
||||
|
||||
Loading of some configuration files is not affected by this option, such
|
||||
as configuration files for DVB code and fontconfig.
|
||||
same files from system wide configuration directories. Other configuration
|
||||
files are blocked as well, such as resume playback files.
|
||||
|
||||
.. note::
|
||||
|
||||
|
|
|
@ -32,9 +32,12 @@
|
|||
#include <sys/stat.h>
|
||||
#include <unistd.h>
|
||||
#include <errno.h>
|
||||
|
||||
#include "config.h"
|
||||
|
||||
#include "common/global.h"
|
||||
#include "common/msg.h"
|
||||
#include "options/options.h"
|
||||
#include "options/path.h"
|
||||
#include "talloc.h"
|
||||
#include "osdep/io.h"
|
||||
|
@ -53,6 +56,10 @@ static const lookup_fun config_lookup_functions[] = {
|
|||
char *mp_find_config_file(void *talloc_ctx, struct mpv_global *global,
|
||||
const char *filename)
|
||||
{
|
||||
struct MPOpts *opts = global->opts;
|
||||
if (!opts->load_config)
|
||||
return NULL;
|
||||
|
||||
for (int i = 0; config_lookup_functions[i] != NULL; i++) {
|
||||
char *path = config_lookup_functions[i](talloc_ctx, global, filename);
|
||||
if (!path) continue;
|
||||
|
@ -68,6 +75,10 @@ char *mp_find_config_file(void *talloc_ctx, struct mpv_global *global,
|
|||
char *mp_find_user_config_file(void *talloc_ctx, struct mpv_global *global,
|
||||
const char *filename)
|
||||
{
|
||||
struct MPOpts *opts = global->opts;
|
||||
if (!opts->load_config)
|
||||
return NULL;
|
||||
|
||||
char *homedir = getenv("MPV_HOME");
|
||||
char *configdir = NULL;
|
||||
char *result = NULL;
|
||||
|
|
|
@ -121,7 +121,7 @@ function read_config(options, identifier)
|
|||
|
||||
local conffilename = "plugin_" .. identifier .. ".conf"
|
||||
local conffile = mp.find_config_file(conffilename)
|
||||
local f = io.open(conffile,"r")
|
||||
local f = conffile and io.open(conffile,"r")
|
||||
if f == nil then
|
||||
-- config not found
|
||||
else
|
||||
|
|
Loading…
Reference in New Issue