better parsing errors
Dana Jansens danakj@orodu.net
2 files changed,
7 insertions(+),
6 deletions(-)
M
openbox/config.c
→
openbox/config.c
@@ -89,13 +89,12 @@ ConfigDefEntry *def;
gboolean ret = FALSE; name = g_ascii_strdown(name, -1); - g_message("Setting %s", name); /*g_datalist_foreach(&config_def, print_config, NULL);*/ def = g_datalist_get_data(&config_def, name); if (def == NULL) { - g_message("Invalid config option '%s'", name); + g_warning("Invalid config option '%s'", name); } else { if (def->hasList) { gboolean found = FALSE;@@ -111,10 +110,12 @@ }
} while ((it = it->next)); if (!found) - g_message("Invalid value '%s' for config option '%s'", + g_warning("Invalid value '%s' for config option '%s'", value.string, name); else ret = TRUE; + } else if (type != def->type) { + g_warning("Incorrect type of value for config option '%s'", name); } else ret = TRUE;
M
openbox/cparse.l
→
openbox/cparse.l
@@ -90,10 +90,10 @@ {
if (!comment) { if (!haserror && entry.name != NULL && (signed)entry.type >= 0) { if (!config_set(entry.name, entry.type, entry.value)) - g_warning("Invalid option in '%s': '%s'\n", - yyfilename, entry.name); + g_warning("Parser error in '%s' on line %d\n", yyfilename, + yylineno); } else { - printf("Parser error in '%s' on line %d\n", yyfilename, yylineno); + g_warning("Parser error in '%s' on line %d", yyfilename, yylineno); } g_free(entry.name); entry.name = NULL;