static GData *config_def = NULL;
/* provided by cparse.l */
-void cparse_go(FILE *);
+void cparse_go(char *filename, FILE *);
void config_startup()
/* 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);
/* 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);
gboolean config_def_set(ConfigDefEntry *entry)
{
gboolean ret = FALSE;
+ ConfigDefEntry *def;
- if (g_datalist_get_data(&config_def, entry->name)) {
+ if ((def = g_datalist_get_data(&config_def, entry->name))) {
+ g_assert(def != entry); /* adding it twice!? */
g_warning("Definition already set for config option '%s'. ",
entry->name);
config_def_free(entry);