summaryrefslogtreecommitdiffstats
path: root/options/m_config.c
diff options
context:
space:
mode:
authorwm4 <wm4@nowhere>2016-08-31 18:17:42 +0200
committerwm4 <wm4@nowhere>2016-08-31 22:17:24 +0200
commit7539928c1c8a12f030da4de4b8be0f697a122212 (patch)
tree4feeddaef1a59ec29a3294b735400caaba999976 /options/m_config.c
parentc55d85992078e465f9e0b7b6998ccdc5f5e77703 (diff)
downloadmpv-7539928c1c8a12f030da4de4b8be0f697a122212.tar.bz2
mpv-7539928c1c8a12f030da4de4b8be0f697a122212.tar.xz
m_config: remove some aliasing checks
We strictly assume no aliasing (the previous commit removed the last case), so remove the checks.
Diffstat (limited to 'options/m_config.c')
-rw-r--r--options/m_config.c21
1 files changed, 2 insertions, 19 deletions
diff --git a/options/m_config.c b/options/m_config.c
index b5cef17fd8..1c2541a2c6 100644
--- a/options/m_config.c
+++ b/options/m_config.c
@@ -382,16 +382,8 @@ static void m_config_add_option(struct m_config *config,
add_options(config, &co, new_optstruct, new_optstruct_def, subopts->opts);
} else {
// Initialize options
- if (co.data && co.default_data) {
- if (arg->type->free) {
- // Would leak memory by overwriting *co.data repeatedly.
- for (int i = 0; i < config->num_opts; i++) {
- if (co.data == config->opts[i].data)
- assert(0);
- }
- }
+ if (co.data && co.default_data)
init_opt_inplace(arg, co.data, co.default_data);
- }
}
if (arg->name[0]) // no own name -> hidden
@@ -510,17 +502,8 @@ static int handle_set_opt_flags(struct m_config *config,
static void handle_on_set(struct m_config *config, struct m_config_option *co,
int flags)
{
- if (flags & M_SETOPT_FROM_CMDLINE) {
+ if (flags & M_SETOPT_FROM_CMDLINE)
co->is_set_from_cmdline = true;
- // Mark aliases too
- if (co->data) {
- for (int n = 0; n < config->num_opts; n++) {
- struct m_config_option *co2 = &config->opts[n];
- if (co2->data == co->data)
- co2->is_set_from_cmdline = true;
- }
- }
- }
if (config->global && (co->opt->flags & M_OPT_TERM))
mp_msg_update_msglevels(config->global);