summaryrefslogtreecommitdiffstats
path: root/cmd-split-window.c
diff options
context:
space:
mode:
authorThomas <thomas@xteddy.org>2014-01-20 10:48:12 +0000
committerThomas <thomas@xteddy.org>2014-01-20 10:48:12 +0000
commitd02c4bda3a4b456f654fb0c1b454ba9724bff0f3 (patch)
tree95f3d17d7f1525e05ed298a015166af557988a0e /cmd-split-window.c
parentba014c1a605f78b301b47ef922dd24a3c5c2c4c1 (diff)
parent938768ed3de3e38cb96344b8ec7b794b5e828acf (diff)
Merge branch 'obsd-master'
Diffstat (limited to 'cmd-split-window.c')
-rw-r--r--cmd-split-window.c17
1 files changed, 10 insertions, 7 deletions
diff --git a/cmd-split-window.c b/cmd-split-window.c
index 4bb069f0..c43cb96b 100644
--- a/cmd-split-window.c
+++ b/cmd-split-window.c
@@ -94,13 +94,16 @@ cmd_split_window_exec(struct cmd *self, struct cmd_q *cmdq)
cp = format_expand(ft, args_get(args, 'c'));
format_free(ft);
- fd = open(cp, O_RDONLY|O_DIRECTORY);
- free(cp);
- if (fd == -1) {
- cmdq_error(cmdq, "bad working directory: %s",
- strerror(errno));
- return (CMD_RETURN_ERROR);
- }
+ if (cp != NULL && *cp != '\0') {
+ fd = open(cp, O_RDONLY|O_DIRECTORY);
+ free(cp);
+ if (fd == -1) {
+ cmdq_error(cmdq, "bad working directory: %s",
+ strerror(errno));
+ return (CMD_RETURN_ERROR);
+ }
+ } else if (cp != NULL)
+ free(cp);
cwd = fd;
} else if (cmdq->client != NULL && cmdq->client->session == NULL)
cwd = cmdq->client->cwd;