diff options
| author | Dana Jansens <danakj@orodu.net> | 2003-04-05 20:47:16 +0000 |
|---|---|---|
| committer | Dana Jansens <danakj@orodu.net> | 2003-04-05 20:47:16 +0000 |
| commit | bd12517c615d661fa2823f85bbbcb48555f7c3db (patch) | |
| tree | f42faa3fed75a2dea76bc95577e5c27922f609f4 /openbox/parse.c | |
| parent | cbbf90a718ecc6836ef7a77b9040aebb9da348b8 (diff) | |
add focus options to the new rc file
Diffstat (limited to 'openbox/parse.c')
| -rw-r--r-- | openbox/parse.c | 32 |
1 files changed, 15 insertions, 17 deletions
diff --git a/openbox/parse.c b/openbox/parse.c index a72cfd84..ffb72c03 100644 --- a/openbox/parse.c +++ b/openbox/parse.c @@ -3,11 +3,11 @@ static GHashTable *reg = NULL; struct Functions { - ParseFunc func; - AssignParseFunc afunc; + ParseFunc f; + AssignParseFunc af; } *funcs; -void destshit(gpointer key) { g_free(key); } +void destshit(gpointer shit) { g_free(shit); } void parse_startup() { @@ -22,15 +22,10 @@ void parse_shutdown() void parse_reg_section(char *section, ParseFunc func, AssignParseFunc afunc) { - if (g_hash_table_lookup(reg, section) != NULL) - g_warning("duplicate request for section '%s' in the rc file", - section); - else { - struct Functions *f = g_new(struct Functions, 1); - f->func = func; - f->afunc = afunc; - g_hash_table_insert(reg, g_ascii_strdown(section, -1), f); - } + struct Functions *f = g_new(struct Functions, 1); + f->f = func; + f->af = afunc; + g_hash_table_insert(reg, g_ascii_strdown(section, -1), f); } void parse_free_token(ParseToken *token) @@ -64,14 +59,17 @@ void parse_free_token(ParseToken *token) void parse_set_section(char *section) { - funcs = g_hash_table_lookup(reg, section); + char *sec; + sec = g_ascii_strdown(section, -1); + funcs = g_hash_table_lookup(reg, sec); + g_free(sec); } void parse_token(ParseToken *token) { if (funcs) { - if (funcs->func != NULL) - funcs->func(token); + if (funcs->f) + funcs->f(token); else if (token->type != TOKEN_NEWLINE) yyerror("syntax error"); } @@ -80,8 +78,8 @@ void parse_token(ParseToken *token) void parse_assign(char *name, ParseToken *value) { if (funcs) { - if (funcs->afunc != NULL) - funcs->afunc(name, value); + if (funcs->af) + funcs->af(name, value); else yyerror("syntax error"); } |
