mirror of
https://github.com/mpv-player/mpv
synced 2025-04-09 19:22:05 +00:00
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``
|
``--no-config``
|
||||||
Do not load default configuration files. This prevents loading of
|
Do not load default configuration files. This prevents loading of
|
||||||
``~/.mpv/config`` and ``~/.mpv/input.conf``, as well as loading the
|
``~/.mpv/config`` and ``~/.mpv/input.conf``, as well as loading the
|
||||||
same files from system wide configuration directories.
|
same files from system wide configuration directories. Other configuration
|
||||||
|
files are blocked as well, such as resume playback files.
|
||||||
Loading of some configuration files is not affected by this option, such
|
|
||||||
as configuration files for DVB code and fontconfig.
|
|
||||||
|
|
||||||
.. note::
|
.. note::
|
||||||
|
|
||||||
|
@ -32,9 +32,12 @@
|
|||||||
#include <sys/stat.h>
|
#include <sys/stat.h>
|
||||||
#include <unistd.h>
|
#include <unistd.h>
|
||||||
#include <errno.h>
|
#include <errno.h>
|
||||||
|
|
||||||
#include "config.h"
|
#include "config.h"
|
||||||
|
|
||||||
#include "common/global.h"
|
#include "common/global.h"
|
||||||
#include "common/msg.h"
|
#include "common/msg.h"
|
||||||
|
#include "options/options.h"
|
||||||
#include "options/path.h"
|
#include "options/path.h"
|
||||||
#include "talloc.h"
|
#include "talloc.h"
|
||||||
#include "osdep/io.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,
|
char *mp_find_config_file(void *talloc_ctx, struct mpv_global *global,
|
||||||
const char *filename)
|
const char *filename)
|
||||||
{
|
{
|
||||||
|
struct MPOpts *opts = global->opts;
|
||||||
|
if (!opts->load_config)
|
||||||
|
return NULL;
|
||||||
|
|
||||||
for (int i = 0; config_lookup_functions[i] != NULL; i++) {
|
for (int i = 0; config_lookup_functions[i] != NULL; i++) {
|
||||||
char *path = config_lookup_functions[i](talloc_ctx, global, filename);
|
char *path = config_lookup_functions[i](talloc_ctx, global, filename);
|
||||||
if (!path) continue;
|
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,
|
char *mp_find_user_config_file(void *talloc_ctx, struct mpv_global *global,
|
||||||
const char *filename)
|
const char *filename)
|
||||||
{
|
{
|
||||||
|
struct MPOpts *opts = global->opts;
|
||||||
|
if (!opts->load_config)
|
||||||
|
return NULL;
|
||||||
|
|
||||||
char *homedir = getenv("MPV_HOME");
|
char *homedir = getenv("MPV_HOME");
|
||||||
char *configdir = NULL;
|
char *configdir = NULL;
|
||||||
char *result = NULL;
|
char *result = NULL;
|
||||||
|
@ -121,7 +121,7 @@ function read_config(options, identifier)
|
|||||||
|
|
||||||
local conffilename = "plugin_" .. identifier .. ".conf"
|
local conffilename = "plugin_" .. identifier .. ".conf"
|
||||||
local conffile = mp.find_config_file(conffilename)
|
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
|
if f == nil then
|
||||||
-- config not found
|
-- config not found
|
||||||
else
|
else
|
||||||
|
Loading…
Reference in New Issue
Block a user