From 1cf54b00c151235704b41d192650a8e75c4ac905 Mon Sep 17 00:00:00 2001 From: reinelt Date: Thu, 8 Jan 2004 06:00:28 +0000 Subject: [lcd4linux @ 2004-01-08 06:00:28 by reinelt] allowed '.' in key names allowed empty group keys (not only "group anything {", but "anything {") git-svn-id: https://ssl.bulix.org/svn/lcd4linux/trunk@297 3ae390bd-cb1e-0410-b409-cd5a39f66f1f --- cfg.c | 22 ++++++++++++++-------- 1 file changed, 14 insertions(+), 8 deletions(-) (limited to 'cfg.c') diff --git a/cfg.c b/cfg.c index 892ee97..0940def 100644 --- a/cfg.c +++ b/cfg.c @@ -1,4 +1,4 @@ -/* $Id: cfg.c,v 1.21 2004/01/08 05:28:12 reinelt Exp $^ +/* $Id: cfg.c,v 1.22 2004/01/08 06:00:28 reinelt Exp $^ * * config file stuff * @@ -23,6 +23,10 @@ * * * $Log: cfg.c,v $ + * Revision 1.22 2004/01/08 06:00:28 reinelt + * allowed '.' in key names + * allowed empty group keys (not only "group anything {", but "anything {") + * * Revision 1.21 2004/01/08 05:28:12 reinelt * Luk Claes added to AUTHORS * cfg: group handling ('{}') added @@ -233,8 +237,10 @@ static int validchars (char *string) char *c; for (c=string; *c; c++) { - if ((*c>='A' && *c<='Z') || (*c>='a' && *c<='z') || *c=='_') continue; - if ((*c>='0' && *c<='9') && (c>string)) continue; + // first and following chars + if ((*c>='A' && *c<='Z') || (*c>='a' && *c<='z') || (*c=='_')) continue; + // only following chars + if ((c>string) && ((*c>='0' && *c<='9') || (*c=='.'))) continue; return 0; } return 1; @@ -488,9 +494,10 @@ static int cfg_read (char *file) } if (*group!='\0') strcat (group, "."); strcat (group, key); - strcat (group, ":"); - strcat (group, val); - debug ("Michi: group-open=<%s>", group); + if (*val!='\0') { + strcat (group, ":"); + strcat (group, val); + } continue; } @@ -508,12 +515,11 @@ static int cfg_read (char *file) *group='\0'; else *end='\0'; - debug ("Michi: group-close1=<%s>", group); continue; } // finally: add key - debug ("Michi: add key=<%s> val=<%s>", key, val); + debug ("Michi: add group=<%s> key=<%s> val=<%s>", group, key, val); cfg_add (group, key, val, 0); } -- cgit v1.2.3