Mercurial > mplayer.hg
changeset 17470:21123e349463
New option type to print help text with a function.
author | albeu |
---|---|
date | Tue, 24 Jan 2006 11:14:13 +0000 |
parents | 40b109500177 |
children | 63909962d3fc |
files | m_option.c m_option.h |
diffstat | 2 files changed, 17 insertions(+), 0 deletions(-) [+] |
line wrap: on
line diff
--- a/m_option.c Mon Jan 23 13:53:40 2006 +0000 +++ b/m_option.c Tue Jan 24 11:14:13 2006 +0000 @@ -824,6 +824,8 @@ static int parse_print(m_option_t* opt,char *name, char *param, void* dst, int src) { if(opt->type == CONF_TYPE_PRINT_INDIRECT) mp_msg(MSGT_CFGPARSER, MSGL_INFO, "%s", *(char **) opt->p); + else if(opt->type == CONF_TYPE_PRINT_FUNC) + return ((m_opt_func_full_t) opt->p)(opt,name,param); else mp_msg(MSGT_CFGPARSER, MSGL_INFO, "%s", (char *) opt->p); @@ -858,6 +860,19 @@ NULL }; +m_option_type_t m_option_type_print_func = { + "Print", + "", + 0, + M_OPT_TYPE_ALLOW_WILDCARD, + parse_print, + NULL, + NULL, + NULL, + NULL, + NULL +}; + /////////////////////// Subconfig #undef VAL
--- a/m_option.h Mon Jan 23 13:53:40 2006 +0000 +++ b/m_option.h Tue Jan 24 11:14:13 2006 +0000 @@ -18,6 +18,7 @@ extern m_option_type_t m_option_type_print; extern m_option_type_t m_option_type_print_indirect; +extern m_option_type_t m_option_type_print_func; extern m_option_type_t m_option_type_subconfig; extern m_option_type_t m_option_type_imgfmt; extern m_option_type_t m_option_type_afmt; @@ -86,6 +87,7 @@ #define CONF_TYPE_FUNC_PARAM (&m_option_type_func_param) #define CONF_TYPE_PRINT (&m_option_type_print) #define CONF_TYPE_PRINT_INDIRECT (&m_option_type_print_indirect) +#define CONF_TYPE_PRINT_FUNC (&m_option_type_print_func) #define CONF_TYPE_FUNC_FULL (&m_option_type_func_full) #define CONF_TYPE_SUBCONFIG (&m_option_type_subconfig) #define CONF_TYPE_STRING_LIST (&m_option_type_string_list)