diff --git a/core/m_config.c b/core/m_config.c index 65d60bdab9..3781a92b90 100644 --- a/core/m_config.c +++ b/core/m_config.c @@ -585,10 +585,7 @@ int m_config_option_requires_param(struct m_config *config, bstr name) if (opt) { if (bstr_endswith0(name, "-clr")) return 0; - if (((opt->flags & M_OPT_OPTIONAL_PARAM) || - (opt->type->flags & M_OPT_TYPE_OPTIONAL_PARAM))) - return 0; - return 1; + return m_option_required_params(opt); } return M_OPT_UNKNOWN; } diff --git a/core/m_option.c b/core/m_option.c index 2feaa5a4b1..36baeb7444 100644 --- a/core/m_option.c +++ b/core/m_option.c @@ -59,6 +59,14 @@ char *m_option_strerror(int code) } } +int m_option_required_params(const m_option_t *opt) +{ + if (((opt->flags & M_OPT_OPTIONAL_PARAM) || + (opt->type->flags & M_OPT_TYPE_OPTIONAL_PARAM))) + return 0; + return 1; +} + static const struct m_option *m_option_list_findb(const struct m_option *list, struct bstr name) { diff --git a/core/m_option.h b/core/m_option.h index dd1dbd3d75..0026406569 100644 --- a/core/m_option.h +++ b/core/m_option.h @@ -464,6 +464,8 @@ static inline void m_option_free(const m_option_t *opt, void *dst) opt->type->free(dst); } +int m_option_required_params(const m_option_t *opt); + // Cause a compilation warning if typeof(expr) != type. // Should be used with pointer types only. #define MP_EXPECT_TYPE(type, expr) (0 ? (type)0 : (expr))