Mercurial > mplayer.hg
changeset 8894:e6a83b140b39
better error handling for invalud suboptions
author | arpi |
---|---|
date | Sat, 11 Jan 2003 17:32:45 +0000 |
parents | 268b3fbc35b7 |
children | f51cf48503f3 |
files | m_config.c |
diffstat | 1 files changed, 9 insertions(+), 2 deletions(-) [+] |
line wrap: on
line diff
--- a/m_config.c Sat Jan 11 17:01:23 2003 +0000 +++ b/m_config.c Sat Jan 11 17:32:45 2003 +0000 @@ -215,7 +215,7 @@ co = m_config_get_co(config,arg); if(!co){ - mp_msg(MSGT_CFGPARSER, MSGL_ERR,"Unknown option: %s\n",arg); +// mp_msg(MSGT_CFGPARSER, MSGL_ERR,"Unknown option: %s\n",arg); return M_OPT_UNKNOW; } @@ -241,6 +241,7 @@ // Parse the child options r = m_option_parse(co->opt,arg,param,&lst,config->mode); // Set them now + if(r >= 0) for(i = 0 ; lst && lst[2*i] ; i++) { int l = strlen(co->name) + 1 + strlen(lst[2*i]) + 1; if(r >= 0) { @@ -248,7 +249,13 @@ char n[l]; sprintf(n,"%s:%s",co->name,lst[2*i]); sr = m_config_parse_option(config,n,lst[2*i+1],set); - if(sr < 0) r = sr; + if(sr < 0){ + if(sr == M_OPT_UNKNOW){ + mp_msg(MSGT_CFGPARSER, MSGL_ERR,"Error: option '%s' has no suboption '%s'\n",co->name,lst[2*i]); + r = M_OPT_INVALID; + } else + r = sr; + } } free(lst[2*i]); free(lst[2*i+1]);