summaryrefslogtreecommitdiff
path: root/extra/config/confdata.c
diff options
context:
space:
mode:
authorEric Andersen <andersen@codepoet.org>2002-11-08 00:47:07 +0000
committerEric Andersen <andersen@codepoet.org>2002-11-08 00:47:07 +0000
commite89052ae8b40a4cf531e2273175f359c3c28a56a (patch)
treeec47fb38e0fb50d5b60883cf4a5c9de38fafc362 /extra/config/confdata.c
parentd3181d18144c86428e2d1255191ff6a469a1a4ab (diff)
Merge an update from upstream
Diffstat (limited to 'extra/config/confdata.c')
-rw-r--r--extra/config/confdata.c27
1 files changed, 17 insertions, 10 deletions
diff --git a/extra/config/confdata.c b/extra/config/confdata.c
index 78e9c553c..d3df3ab34 100644
--- a/extra/config/confdata.c
+++ b/extra/config/confdata.c
@@ -148,17 +148,24 @@ int conf_read(const char *name)
break;
}
switch (sym->type) {
- case S_TRISTATE:
- if (p[0] == 'm')
- sym->def = symbol_mod.curr;
- else
+ case S_TRISTATE:
+ if (p[0] == 'm') {
+ S_TRI(sym->def) = mod;
+ sym->flags &= ~SYMBOL_NEW;
+ break;
+ }
case S_BOOLEAN:
- if (p[0] == 'n')
- sym->def = symbol_no.curr;
- else
- sym->def = symbol_yes.curr;
- sym->flags &= ~SYMBOL_NEW;
- break;
+ if (p[0] == 'y') {
+ S_TRI(sym->def) = yes;
+ sym->flags &= ~SYMBOL_NEW;
+ break;
+ }
+ if (p[0] == 'n') {
+ S_TRI(sym->def) = no;
+ sym->flags &= ~SYMBOL_NEW;
+ break;
+ }
+ break;
case S_STRING:
if (*p++ != '"')
break;