summaryrefslogtreecommitdiffstats
path: root/cmd-new-session.c
diff options
context:
space:
mode:
authorNicholas Marriott <nicholas.marriott@gmail.com>2009-01-23 16:59:14 +0000
committerNicholas Marriott <nicholas.marriott@gmail.com>2009-01-23 16:59:14 +0000
commit4d9af27b0bbb19466aecc9a39b9eb94796b2c7d8 (patch)
tree894030570ec55749b620e654ef17ec311e80f7f9 /cmd-new-session.c
parent3f171917f6bce0fd5eb808a11b80d550d2a7d249 (diff)
Better error messages for fork.
Diffstat (limited to 'cmd-new-session.c')
-rw-r--r--cmd-new-session.c12
1 files changed, 8 insertions, 4 deletions
diff --git a/cmd-new-session.c b/cmd-new-session.c
index 322e8b4b..76dd5130 100644
--- a/cmd-new-session.c
+++ b/cmd-new-session.c
@@ -1,4 +1,4 @@
-/* $Id: cmd-new-session.c,v 1.37 2009-01-20 19:35:03 nicm Exp $ */
+/* $Id: cmd-new-session.c,v 1.38 2009-01-23 16:59:14 nicm Exp $ */
/*
* Copyright (c) 2007 Nicholas Marriott <nicm@users.sourceforge.net>
@@ -158,14 +158,18 @@ cmd_new_session_exec(struct cmd *self, struct cmd_ctx *ctx)
}
if (!data->flag_detached && tty_open(&c->tty, &cause) != 0) {
- ctx->error(ctx, "%s", cause);
+ ctx->error(ctx, "open terminal failed: %s", cause);
xfree(cause);
return (-1);
}
- if ((s = session_create(data->newname, cmd, cwd, sx, sy)) == NULL)
- fatalx("session_create failed");
+ s = session_create(data->newname, cmd, cwd, sx, sy, &cause);
+ if (s == NULL) {
+ ctx->error(ctx, "create session failed: %s", cause);
+ xfree(cause);
+ return (-1);
+ }
if (data->winname != NULL) {
xfree(s->curw->window->name);
s->curw->window->name = xstrdup(data->winname);