]> Dogcows Code - chaz/openbox/commitdiff
give the filename to the parser for errors
authorDana Jansens <danakj@orodu.net>
Sat, 22 Mar 2003 22:02:14 +0000 (22:02 +0000)
committerDana Jansens <danakj@orodu.net>
Sat, 22 Mar 2003 22:02:14 +0000 (22:02 +0000)
openbox/config.c
openbox/cparse.l

index e2a14e44b851bb99d2c03385871165238d13b132..b66ad5e7a2b0a9a50677d8a24be8358f9ac269e2 100644 (file)
@@ -17,7 +17,7 @@ static GData *config = NULL;
 static GData *config_def = NULL;
 
 /* provided by cparse.l */
-void cparse_go(FILE *);
+void cparse_go(char *filename, FILE *);
 
 
 void config_startup()
@@ -53,7 +53,7 @@ void config_parse()
     /* load the system wide rc file first */
     path = g_build_filename(RCDIR, "rc3", NULL);
     if ((file = fopen(path, "r")) != NULL) {
-        cparse_go(file);
+        cparse_go(path, file);
         fclose(file);
     }
     g_free(path);
@@ -61,7 +61,7 @@ void config_parse()
     /* then load the user one which can override it */
     path = g_build_filename(g_get_home_dir(), ".openbox", "rc3", NULL);
     if ((file = fopen(path, "r")) != NULL) {
-        cparse_go(file);
+        cparse_go(path, file);
         fclose(file);
     }
     g_free(path);
index 60eff0e59a1982d1522d75e43f86b32e20f1ba8d..3266fe97a102c851e857816d16b04059419a3087 100644 (file)
@@ -2,6 +2,7 @@
 #include <glib.h>
 #include "config.h"
 
+static char *yyfilename;
 static int yylineno = 1;
 static gboolean haserror = FALSE;
 static ConfigEntry entry = { NULL, -1 };
@@ -64,9 +65,10 @@ static void newline()
 {
     if (!haserror && entry.name != NULL && (signed)entry.type >= 0) {
         if (!config_set(entry.name, entry.type, entry.value))
-            g_warning("Invalid option in config file: '%s'\n", entry.name);
+            g_warning("Invalid option in '%s': '%s'\n",
+                      yyfilename, entry.name);
     } else {
-        printf("Parser error in config file on line %d\n", yylineno);
+        printf("Parser error in '%s' on line %d\n", yyfilename, yylineno);
     }
     g_free(entry.name);
     entry.name = NULL;
@@ -87,8 +89,9 @@ static int yywrap()
     return 1;
 }
 
-void cparse_go(FILE *file)
+void cparse_go(char *filename, FILE *file)
 {
+    yyfilename = filename;
     yyin = file;
     yylex();
 }
This page took 0.02362 seconds and 4 git commands to generate.