From: Marco Peereboom Date: Wed, 15 Feb 2012 23:26:10 +0000 (-0600) Subject: try multiple config files X-Git-Url: https://jasonwoof.com/gitweb/?a=commitdiff_plain;h=ff78cd9edd672080475ddfa1b982d9c770aca6f0;hp=e468d771f657f081722efc8e7b54dacd923867c2;p=spectrwm.git try multiple config files --- diff --git a/spectrwm.c b/spectrwm.c index 5951b9e..5e9f3ef 100644 --- a/spectrwm.c +++ b/spectrwm.c @@ -6972,44 +6972,39 @@ main(int argc, char *argv[]) /* load config */ for (i = 0; ; i++) { + conf[0] = '\0'; switch (i) { case 0: /* ~ */ snprintf(conf, sizeof conf, "%s/.%s", pwd->pw_dir, SWM_CONF_FILE); - if (stat(conf, &sb) != -1) - if (S_ISREG(sb.st_mode)) - cfile = conf; break; case 1: /* global */ snprintf(conf, sizeof conf, "/etc/%s", SWM_CONF_FILE); - if (stat(conf, &sb) != -1) - if (S_ISREG(sb.st_mode)) - cfile = conf; break; case 2: /* ~ compat */ snprintf(conf, sizeof conf, "%s/.%s", pwd->pw_dir, SWM_CONF_FILE_OLD); - if (stat(conf, &sb) != -1) - if (S_ISREG(sb.st_mode)) - cfile = conf; break; case 3: /* global compat */ snprintf(conf, sizeof conf, "/etc/%s", SWM_CONF_FILE_OLD); - if (stat(conf, &sb) != -1) - if (S_ISREG(sb.st_mode)) - cfile = conf; break; default: - cfile = NULL; - break; + goto noconfig; } + + if (strlen(conf) && stat(conf, &sb) != -1) + if (S_ISREG(sb.st_mode)) { + cfile = conf; + break; + } } +noconfig: /* load conf (if any) and refresh font color in bar graphics contexts */ if (cfile && conf_load(cfile, SWM_CONF_DEFAULT) == 0)