From 040a853128dd2340395d0f3c92ad911aa8dfc4fc Mon Sep 17 00:00:00 2001 From: okan Date: Sat, 1 Feb 2014 00:25:04 +0000 Subject: 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. --- calmwm.c | 12 +++++------- 1 file changed, 5 insertions(+), 7 deletions(-) (limited to 'calmwm.c') diff --git a/calmwm.c b/calmwm.c index 2add0d4..5f8590e 100644 --- a/calmwm.c +++ b/calmwm.c @@ -15,7 +15,7 @@ * ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF * OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE. * - * $OpenBSD: calmwm.c,v 1.87 2014/01/28 00:42:20 okan Exp $ + * $OpenBSD: calmwm.c,v 1.88 2014/02/01 00:25:04 okan Exp $ */ #include @@ -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, -- cgit v1.2.3-2-gb3c3