summary refs log tree commit diff
path: root/calmwm.c
diff options
context:
space:
mode:
authorokan <okan>2014-02-01 00:25:04 +0000
committerokan <okan>2014-02-01 00:25:04 +0000
commit8b63ac62c2d87eb5c66dea85acaa53ab26898a49 (patch)
treee915d01890ac1994aa90c6e97586df1a31a213e9 /calmwm.c
parent34477b8a35ab71bf384db714ad0e7043b701be0e (diff)
downloadcwm-8b63ac62c2d87eb5c66dea85acaa53ab26898a49.tar.gz
cwm-8b63ac62c2d87eb5c66dea85acaa53ab26898a49.tar.xz
cwm-8b63ac62c2d87eb5c66dea85acaa53ab26898a49.zip
Let the config parser continue parsing even after encountering an error;
original idea (with now-outdated patch) from Thomas Adam.  Since we now
report where errors exist, this now makes more sense.  Expand a bit on
config file parsing in the cwm(1).

Discussed with a few, including sthen; ok sthen.
Diffstat (limited to 'calmwm.c')
-rw-r--r--calmwm.c10
1 files changed, 4 insertions, 6 deletions
diff --git a/calmwm.c b/calmwm.c
index abdb79c..0fca8ae 100644
--- a/calmwm.c
+++ b/calmwm.c
@@ -108,11 +108,8 @@ main(int argc, char **argv)
 	}
 
 	conf_init(&Conf);
-	if (conf_path && (parse_config(conf_path, &Conf) == -1)) {
-		warnx("config file %s has errors, not loading", conf_path);
-		conf_clear(&Conf);
-		conf_init(&Conf);
-	}
+	if (conf_path && (parse_config(conf_path, &Conf) == -1))
+		warnx("config file %s has errors", conf_path);
 	free(conf_path);
 
 	x_init(display_name);
@@ -142,7 +139,6 @@ x_init(const char *dpyname)
 	HasRandr = XRRQueryExtension(X_Dpy, &Randr_ev, &i);
 
 	conf_atoms();
-
 	conf_cursor(&Conf);
 
 	for (i = 0; i < ScreenCount(X_Dpy); i++)
@@ -162,6 +158,8 @@ x_teardown(void)
 	struct screen_ctx	*sc;
 	unsigned int		 i;
 
+	conf_clear(&Conf);
+
 	TAILQ_FOREACH(sc, &Screenq, entry) {
 		for (i = 0; i < CWM_COLOR_NITEMS; i++)
 			XftColorFree(X_Dpy, sc->visual, sc->colormap,