]> Dogcows Code - chaz/openbox/commitdiff
better parsing errors
authorDana Jansens <danakj@orodu.net>
Sun, 23 Mar 2003 00:52:01 +0000 (00:52 +0000)
committerDana Jansens <danakj@orodu.net>
Sun, 23 Mar 2003 00:52:01 +0000 (00:52 +0000)
openbox/config.c
openbox/cparse.l

index a6114b4768b571b08a93cd019c78e898c1a9e717..3a5a1c60d4ec79ceb76be0b437b7b76aa75330f4 100644 (file)
@@ -89,13 +89,12 @@ gboolean config_set(char *name, ConfigValueType type, ConfigValue value)
     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 @@ gboolean config_set(char *name, ConfigValueType type, ConfigValue value)
             } 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;
 
index 3f362668d48520f0e25a9cb7321499030856b4e1..fcc72f06091cbb0ab939ecbe7528f6be791a6b28 100644 (file)
@@ -90,10 +90,10 @@ static void newline()
     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;
This page took 0.023842 seconds and 4 git commands to generate.