From 7f289744339f079b91ea4f04ea2b0c614b51bd95 Mon Sep 17 00:00:00 2001 From: albeu Date: Tue, 24 Jan 2006 11:34:24 +0000 Subject: Make -list-options work in both MPlayer and MEncoder. git-svn-id: svn://svn.mplayerhq.hu/mplayer/trunk@17473 b3059339-0415-0410-9bf9-f77b7e298cf2 --- DOCS/man/en/mplayer.1 | 8 ++++---- m_config.c | 11 +++++++++++ parser-mpcmd.c | 7 ++----- 3 files changed, 17 insertions(+), 9 deletions(-) diff --git a/DOCS/man/en/mplayer.1 b/DOCS/man/en/mplayer.1 index 6c92e19045..9ea8141e1b 100644 --- a/DOCS/man/en/mplayer.1 +++ b/DOCS/man/en/mplayer.1 @@ -573,6 +573,10 @@ instead of the builtin codecs.conf. Specify configuration file to be parsed after the default ones. . .TP +.B \-list-options +Prints all available options. +. +.TP .B \-msglevel :=:...> Control verbosity directly for each module. The 'all' module changes the verbosity of all the modules not @@ -812,10 +816,6 @@ set it to 2 for Linux or 1024 for Windows. Specifies a configuration file for LIRC (default: ~/\:.lircrc). . .TP -.B \-list-options -Prints all available options. -. -.TP .B \-loop Loops movie playback times. 0 means forever. diff --git a/m_config.c b/m_config.c index 78ba5a3567..4973f5afe0 100644 --- a/m_config.c +++ b/m_config.c @@ -27,6 +27,9 @@ show_profile(m_option_t *opt, char* name, char *param); static void m_config_add_option(m_config_t *config, m_option_t *arg, char* prefix); +static int +list_options(m_option_t *opt, char* name, char *param); + m_config_t* m_config_new(void) { m_config_t* config; @@ -35,6 +38,7 @@ m_config_new(void) { static m_option_t ref_opts[] = { { "profile", NULL, &profile_opt_type, CONF_NOSAVE, 0, 0, NULL }, { "show-profile", show_profile, CONF_TYPE_PRINT_FUNC, CONF_NOCFG, 0, 0, NULL }, + { "list-options", list_options, CONF_TYPE_PRINT_FUNC, CONF_NOCFG, 0, 0, NULL }, { NULL, NULL, NULL, 0, 0, 0, NULL } }; int i; @@ -576,3 +580,10 @@ show_profile(m_option_t *opt, char* name, char *param) { if(!config->profile_depth) mp_msg(MSGT_CFGPARSER, MSGL_INFO, "\n"); return M_OPT_EXIT-1; } + +static int +list_options(m_option_t *opt, char* name, char *param) { + m_config_t* config = opt->priv; + m_config_print_option_list(config); + return M_OPT_EXIT; +} diff --git a/parser-mpcmd.c b/parser-mpcmd.c index 67b579b644..2eecb59896 100644 --- a/parser-mpcmd.c +++ b/parser-mpcmd.c @@ -136,11 +136,8 @@ m_config_parse_mp_command_line(m_config_t *config, int argc, char **argv) mp_msg(MSGT_CFGPARSER, MSGL_DBG3, "this_opt = option: %s\n", opt); // We handle here some specific option - if(strcasecmp(opt,"list-options") == 0) { - m_config_print_option_list(config); - exit(1); - // Loop option when it apply to a group - } else if(strcasecmp(opt,"loop") == 0 && + // Loop option when it apply to a group + if(strcasecmp(opt,"loop") == 0 && (! last_entry || last_entry->child) ) { int l; char* end; -- cgit v1.2.3