diff options
Diffstat (limited to 'core/m_option.c')
-rw-r--r-- | core/m_option.c | 76 |
1 files changed, 0 insertions, 76 deletions
diff --git a/core/m_option.c b/core/m_option.c index 7d6f9a53b7..85657aa497 100644 --- a/core/m_option.c +++ b/core/m_option.c @@ -2189,82 +2189,6 @@ const m_option_type_t m_option_type_obj_settings_list = { }; - -static int parse_obj_presets(const m_option_t *opt, struct bstr name, - struct bstr param, void *dst) -{ - m_obj_presets_t *obj_p = (m_obj_presets_t *)opt->priv; - const m_struct_t *in_desc; - const m_struct_t *out_desc; - int s, i; - const unsigned char *pre; - char *pre_name = NULL; - - if (!obj_p) { - mp_msg(MSGT_CFGPARSER, MSGL_ERR, "Option %.*s: Presets need a " - "pointer to a m_obj_presets_t in the priv field.\n", - BSTR_P(name)); - return M_OPT_PARSER_ERR; - } - - if (param.len == 0) - return M_OPT_MISSING_PARAM; - - pre = obj_p->presets; - in_desc = obj_p->in_desc; - out_desc = obj_p->out_desc ? obj_p->out_desc : obj_p->in_desc; - s = in_desc->size; - - if (!bstrcmp0(param, "help")) { - mp_msg(MSGT_CFGPARSER, MSGL_INFO, "Available presets for %s->%.*s:", - out_desc->name, BSTR_P(name)); - for (pre = obj_p->presets; - (pre_name = M_ST_MB(char *, pre, obj_p->name_off)); pre += s) - mp_msg(MSGT_CFGPARSER, MSGL_ERR, " %s", pre_name); - mp_msg(MSGT_CFGPARSER, MSGL_ERR, "\n"); - return M_OPT_EXIT - 1; - } - - for (pre_name = M_ST_MB(char *, pre, obj_p->name_off); pre_name; - pre += s, pre_name = M_ST_MB(char *, pre, obj_p->name_off)) - if (!bstrcmp0(param, pre_name)) - break; - if (!pre_name) { - mp_msg(MSGT_CFGPARSER, MSGL_ERR, - "Option %.*s: There is no preset named %.*s\n" - "Available presets are:", BSTR_P(name), BSTR_P(param)); - for (pre = obj_p->presets; - (pre_name = M_ST_MB(char *, pre, obj_p->name_off)); pre += s) - mp_msg(MSGT_CFGPARSER, MSGL_ERR, " %s", pre_name); - mp_msg(MSGT_CFGPARSER, MSGL_ERR, "\n"); - return M_OPT_INVALID; - } - - if (!dst) - return 1; - - for (i = 0; in_desc->fields[i].name; i++) { - const m_option_t *out_opt = m_option_list_find(out_desc->fields, - in_desc->fields[i].name); - if (!out_opt) { - mp_msg(MSGT_CFGPARSER, MSGL_ERR, - "Option %.*s: Unable to find the target option for field %s.\n" - "Please report this to the developers.\n", - BSTR_P(name), in_desc->fields[i].name); - return M_OPT_PARSER_ERR; - } - m_option_copy(out_opt, M_ST_MB_P(dst, out_opt->p), - M_ST_MB_P(pre, in_desc->fields[i].p)); - } - return 1; -} - - -const m_option_type_t m_option_type_obj_presets = { - .name = "Object presets", - .parse = parse_obj_presets, -}; - static int parse_custom_url(const m_option_t *opt, struct bstr name, struct bstr url, void *dst) { |