aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorDrew DeVault <sir@cmpwn.com>2019-02-07 21:22:53 -0500
committerGitHub <noreply@github.com>2019-02-07 21:22:53 -0500
commit385cf330aebe9d9996076912e8b826efeb365627 (patch)
treec76c0f0993361c0ef6668d84a4094ad3bfa525ef
parentec5da0ca5bad6a433f727499d68ac1352397f5aa (diff)
Revert "Restore CWD if returning early."
This reverts commit 921e42c6c06212a61d899d6335d95eb4c781e2e8.
-rw-r--r--sway/config.c23
1 files changed, 10 insertions, 13 deletions
diff --git a/sway/config.c b/sway/config.c
index 0c791a35..18df2add 100644
--- a/sway/config.c
+++ b/sway/config.c
@@ -557,13 +557,17 @@ bool load_include_configs(const char *path, struct sway_config *config,
const char *parent_dir = dirname(parent_path);
if (chdir(parent_dir) < 0) {
- goto error_chdir;
+ free(parent_path);
+ free(wd);
+ return false;
}
wordexp_t p;
if (wordexp(path, &p, 0) != 0) {
- goto error_wordexp;
+ free(parent_path);
+ free(wd);
+ return false;
}
char **w = p.we_wordv;
@@ -571,7 +575,10 @@ bool load_include_configs(const char *path, struct sway_config *config,
for (i = 0; i < p.we_wordc; ++i) {
bool found = load_include_config(w[i], parent_dir, config, swaynag);
if (!found) {
- goto error_not_found;
+ wordfree(&p);
+ free(parent_path);
+ free(wd);
+ return false;
}
}
free(parent_path);
@@ -586,16 +593,6 @@ bool load_include_configs(const char *path, struct sway_config *config,
free(wd);
return true;
-error_not_found:
- wordfree(&p);
-error_wordexp:
- if (chdir(wd) < 0) {
- sway_log(SWAY_ERROR, "failed to restore working directory");
- }
-error_chdir:
- free(parent_path);
- free(wd);
- return false;
}
void run_deferred_commands(void) {