summaryrefslogtreecommitdiffstats
path: root/cfgparser.c
diff options
context:
space:
mode:
authoralex <alex@b3059339-0415-0410-9bf9-f77b7e298cf2>2001-12-26 13:15:44 +0000
committeralex <alex@b3059339-0415-0410-9bf9-f77b7e298cf2>2001-12-26 13:15:44 +0000
commit59dd498f38712bf94428643dabce1b63a5fe2884 (patch)
tree19f82135b8ef4023a599d12fe1c5774ceb2a8439 /cfgparser.c
parent7f206559dfb3df4e005f98e390c5965c86f5d906 (diff)
downloadmpv-59dd498f38712bf94428643dabce1b63a5fe2884.tar.bz2
mpv-59dd498f38712bf94428643dabce1b63a5fe2884.tar.xz
fixed subconfig parser
git-svn-id: svn://svn.mplayerhq.hu/mplayer/trunk@3762 b3059339-0415-0410-9bf9-f77b7e298cf2
Diffstat (limited to 'cfgparser.c')
-rw-r--r--cfgparser.c10
1 files changed, 7 insertions, 3 deletions
diff --git a/cfgparser.c b/cfgparser.c
index ea7c1c3ff0..efa42ad367 100644
--- a/cfgparser.c
+++ b/cfgparser.c
@@ -245,6 +245,7 @@ static int read_option(struct config *conf, int conf_optnr, char *opt, char *par
int subconf_optnr;
struct config *subconf;
char *token;
+ int sscanf_ret;
if (param == NULL)
goto err_missing_param;
@@ -259,13 +260,17 @@ static int read_option(struct config *conf, int conf_optnr, char *opt, char *par
token = strtok(param, (char *)&(":"));
while(token)
{
- int sscanf_ret;
+ /* clear out */
+ subopt[0] = subparam[0] = 0;
+// sscanf_ret = sscanf(token, "%[^=]=%[^\n\0]", subopt, subparam);
sscanf_ret = sscanf(token, "%[^=]=%s", subopt, subparam);
+
+ mp_msg(MSGT_CFGPARSER, MSGL_DBG3, "token: '%s', i=%d, subopt='%s', subparam='%s' (ret: %d)\n", token, i, subopt, subparam, sscanf_ret);
switch(sscanf_ret)
{
case 1:
- subparam = NULL;
+ subparam[0] = 0;
case 2:
if ((ret = read_option((struct config *)subconf, subconf_optnr, subopt, subparam)) < 0)
{
@@ -279,7 +284,6 @@ static int read_option(struct config *conf, int conf_optnr, char *opt, char *par
ret = ERR_NOT_AN_OPTION;
goto out;
}
- mp_dbg(MSGT_CFGPARSER, MSGL_DBG3, "token: '%s', i=%d, subopt='%s, subparam='%s'\n", token, i, subopt, subparam);
token = strtok(NULL, (char *)&(":"));
}