Mercurial > mplayer.hg
diff cfgparser.c @ 151:9708d4b2765b
cfgparser fix
author | szabii |
---|---|
date | Mon, 19 Mar 2001 02:29:37 +0000 |
parents | 2f3e01a1fd87 |
children | 372a9a836e86 |
line wrap: on
line diff
--- a/cfgparser.c Mon Mar 19 01:49:44 2001 +0000 +++ b/cfgparser.c Mon Mar 19 02:29:37 2001 +0000 @@ -80,13 +80,15 @@ !strcasecmp(param, "i") || !strcmp(param, "1")) *((int *) config[i].p) = config[i].max; - if (!strcasecmp(param, "no") || + else if (!strcasecmp(param, "no") || !strcasecmp(param, "nein") || !strcasecmp(param, "nicht") || !strcasecmp(param, "nem") || !strcasecmp(param, "n") || !strcmp(param, "0")) *((int *) config[i].p) = config[i].min; + else + return ERR_OUT_OF_RANGE; need_param = 1; } else { /* parser_mode == COMMAND_LINE */ *((int *) config[i].p) = config[i].max; @@ -146,18 +148,17 @@ *((char **) config[i].p) = strdup(param); need_param = 1; break; + case CONF_TYPE_FUNC_PARAM: + if (param == NULL) + return ERR_MISSING_PARAM; + if ((((cfg_func_param_t) config[i].p)(config + i, param)) < 0) + return ERR_FUNC_ERR; + need_param = 1; + break; case CONF_TYPE_FUNC: - if (config[i].flags & CONF_FUNC_PARAM) { - if (param == NULL) - return ERR_MISSING_PARAM; - if ((((cfg_func_param_t) config[i].p)(config + i, param)) < 0) - return ERR_FUNC_ERR; - need_param = 1; - } else { - if ((((cfg_func_t) config[i].p)(config + i)) < 0) - return ERR_FUNC_ERR; - need_param = 0; - } + if ((((cfg_func_t) config[i].p)(config + i)) < 0) + return ERR_FUNC_ERR; + need_param = 0; break; default: printf("picsaba\n");