summaryrefslogtreecommitdiffstats
path: root/options
diff options
context:
space:
mode:
authorwm4 <wm4@nowhere>2018-05-21 15:21:09 +0200
committerwm4 <wm4@nowhere>2018-05-24 19:56:35 +0200
commitfe6b2f9103450679a07da44bdad31707b597cd20 (patch)
treeb9a5aa109582137a91b522b074a413dfce70967c /options
parentfb22bf2317d4704895fca407507972031e932298 (diff)
downloadmpv-fe6b2f9103450679a07da44bdad31707b597cd20.tar.bz2
mpv-fe6b2f9103450679a07da44bdad31707b597cd20.tar.xz
m_config: add a special define to access main config
Passing NULL to mp_get_config_group() returns the main option struct. This is just a dumb hack to deal with inconsistencies caused by legacy things (as I'll claim), and will probably be changed in the future. So before littering the whole code base with hard to find NULL parameters, require using callers an easy to find separate define.
Diffstat (limited to 'options')
-rw-r--r--options/m_config.h10
1 files changed, 6 insertions, 4 deletions
diff --git a/options/m_config.h b/options/m_config.h
index 19da75e83c..40cd367613 100644
--- a/options/m_config.h
+++ b/options/m_config.h
@@ -278,15 +278,17 @@ struct m_config_cache {
void *wakeup_cb_ctx;
};
+#define GLOBAL_CONFIG NULL
+
// Create a mirror copy from the global options.
// Keep in mind that a m_config_cache object is not thread-safe; it merely
// provides thread-safe access to the global options. All API functions for
// the same m_config_cache object must synchronized, unless otherwise noted.
// ta_parent: parent for the returned allocation
// global: option data source
-// group: the option group to return. This can be NULL for the global option
-// struct (MPOpts), or m_sub_options used in a certain OPT_SUBSTRUCT()
-// item.
+// group: the option group to return. This can be GLOBAL_CONFIG for the global
+// option struct (MPOpts), or m_sub_options used in a certain
+// OPT_SUBSTRUCT() item.
struct m_config_cache *m_config_cache_alloc(void *ta_parent,
struct mpv_global *global,
const struct m_sub_options *group);
@@ -317,7 +319,7 @@ bool m_config_cache_update(struct m_config_cache *cache);
// Like m_config_cache_alloc(), but return the struct (m_config_cache->opts)
// directly, with no way to update the config. Basically this returns a copy
// with a snapshot of the current option values.
-// group==NULL is a special case, and always returns the root group.
+// group==GLOBAL_CONFIG is a special case, and always returns the root group.
void *mp_get_config_group(void *ta_parent, struct mpv_global *global,
const struct m_sub_options *group);