From f0fd6633205fe0b477032d2be5028a204c327e0b Mon Sep 17 00:00:00 2001 From: wm4 Date: Fri, 23 Sep 2016 21:04:20 +0200 Subject: m_config, command: remove some minor code duplication I would have been fine with this, but now I want to add another flag, and the duplication would become more messy than having a strange function for deduplication. --- options/m_config.c | 10 +++++++--- options/m_config.h | 2 ++ player/command.c | 5 ++--- 3 files changed, 11 insertions(+), 6 deletions(-) diff --git a/options/m_config.c b/options/m_config.c index 08465df97f..5c8a99b372 100644 --- a/options/m_config.c +++ b/options/m_config.c @@ -676,6 +676,12 @@ static int handle_set_opt_flags(struct m_config *config, return set ? 2 : 1; } +void m_config_mark_co_flags(struct m_config_option *co, int flags) +{ + if (flags & M_SETOPT_FROM_CMDLINE) + co->is_set_from_cmdline = true; +} + // Unlike m_config_set_option_raw() this does not go through the property layer // via config.option_set_callback. int m_config_set_option_raw_direct(struct m_config *config, @@ -696,9 +702,7 @@ int m_config_set_option_raw_direct(struct m_config *config, m_option_copy(co->opt, co->data, data); - if (flags & M_SETOPT_FROM_CMDLINE) - co->is_set_from_cmdline = true; - + m_config_mark_co_flags(co, flags); m_config_notify_change_co(config, co); return 0; diff --git a/options/m_config.h b/options/m_config.h index 74390f150b..4571488051 100644 --- a/options/m_config.h +++ b/options/m_config.h @@ -184,6 +184,8 @@ static inline int m_config_set_option0(struct m_config *config, int m_config_set_option_raw(struct m_config *config, struct m_config_option *co, void *data, int flags); +void m_config_mark_co_flags(struct m_config_option *co, int flags); + int m_config_set_option_raw_direct(struct m_config *config, struct m_config_option *co, void *data, int flags); diff --git a/player/command.c b/player/command.c index eae3f7116e..fe1596f18c 100644 --- a/player/command.c +++ b/player/command.c @@ -320,9 +320,8 @@ int mp_on_set_option(void *ctx, struct m_config_option *co, void *data, int flag if (r != M_PROPERTY_OK) return M_OPT_INVALID; - // The flag can't be passed through the property layer correctly. - if (flags & M_SETOPT_FROM_CMDLINE) - co->is_set_from_cmdline = true; + // The flags can't be passed through the property layer correctly. + m_config_mark_co_flags(co, flags); return 0; -- cgit v1.2.3