config: simplify loop

This commit is contained in:
columbarius 2021-03-25 12:39:40 +01:00
parent 49caf979b5
commit b5db82f662

View file

@ -352,6 +352,7 @@ static char *config_path(const char *prefix, const char *config_folder) {
} }
static char *get_config_path(void) { static char *get_config_path(void) {
char *path = NULL;
const char *home = getenv("HOME"); const char *home = getenv("HOME");
size_t size_fallback = 1 + strlen(home) + strlen("/.config"); size_t size_fallback = 1 + strlen(home) + strlen("/.config");
char *config_home_fallback = calloc(size_fallback, sizeof(char)); char *config_home_fallback = calloc(size_fallback, sizeof(char));
@ -378,19 +379,19 @@ static char *get_config_path(void) {
size_t num_config_paths = sizeof(config_paths)/sizeof(config_paths[0]); size_t num_config_paths = sizeof(config_paths)/sizeof(config_paths[0]);
for (size_t i = 0; i < num_config_paths; i++) { for (size_t i = 0; i < num_config_paths; i++) {
char *path = config_path(config_paths[i].prefix, config_paths[i].config_folder); path = config_path(config_paths[i].prefix, config_paths[i].config_folder);
if (!path) { if (!path) {
continue; continue;
} }
if (file_exists(path)) { if (file_exists(path)) {
free(config_home_fallback); break;
return path;
} }
free(path); free(path);
path = NULL;
} }
free(config_home_fallback); free(config_home_fallback);
return NULL; return path;
} }
static bool load_config(const char *path, struct sway_config *config, static bool load_config(const char *path, struct sway_config *config,