summaryrefslogtreecommitdiffstats
path: root/cfgparser.c
diff options
context:
space:
mode:
authorszabii <szabii@b3059339-0415-0410-9bf9-f77b7e298cf2>2001-03-19 02:29:37 +0000
committerszabii <szabii@b3059339-0415-0410-9bf9-f77b7e298cf2>2001-03-19 02:29:37 +0000
commitce3e8346b66ee2af78c92fe1c326109b17ac4837 (patch)
tree706a20dbad7bb96632ac525efac5d1b106701efd /cfgparser.c
parent05e521da6584589dfd6e6686108985abd928834a (diff)
downloadmpv-ce3e8346b66ee2af78c92fe1c326109b17ac4837.tar.bz2
mpv-ce3e8346b66ee2af78c92fe1c326109b17ac4837.tar.xz
cfgparser fix
git-svn-id: svn://svn.mplayerhq.hu/mplayer/trunk@152 b3059339-0415-0410-9bf9-f77b7e298cf2
Diffstat (limited to 'cfgparser.c')
-rw-r--r--cfgparser.c25
1 files changed, 13 insertions, 12 deletions
diff --git a/cfgparser.c b/cfgparser.c
index 5ef32241af..f405bf7095 100644
--- a/cfgparser.c
+++ b/cfgparser.c
@@ -80,13 +80,15 @@ static int read_option(char *opt, char *param)
!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 @@ static int read_option(char *opt, char *param)
*((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");