aboutsummaryrefslogtreecommitdiff
path: root/tty.c
diff options
context:
space:
mode:
authorNicholas Marriott <nicholas.marriott@gmail.com>2015-07-14 08:15:05 +0100
committerNicholas Marriott <nicholas.marriott@gmail.com>2015-07-14 08:15:05 +0100
commit5ffb869e1a543b264b9d94a19077d16f9832aff5 (patch)
tree59392329b2b678d46667e0960efa9e2c7dfb202a /tty.c
parentbed3069fd746741286e624126774f98ed51fbbdf (diff)
parentdcc28434f460f637976ca313e062c0728d438e97 (diff)
downloadrtmux-5ffb869e1a543b264b9d94a19077d16f9832aff5.tar.gz
rtmux-5ffb869e1a543b264b9d94a19077d16f9832aff5.tar.bz2
rtmux-5ffb869e1a543b264b9d94a19077d16f9832aff5.zip
Merge branch 'master' of github.com:tmux/tmux
Diffstat (limited to 'tty.c')
-rw-r--r--tty.c9
1 files changed, 7 insertions, 2 deletions
diff --git a/tty.c b/tty.c
index 63380c29..374fb8c6 100644
--- a/tty.c
+++ b/tty.c
@@ -59,11 +59,14 @@ void tty_default_colours(struct grid_cell *, const struct window_pane *);
#define tty_pane_full_width(tty, ctx) \
((ctx)->xoff == 0 && screen_size_x((ctx)->wp->screen) >= (tty)->sx)
-void
+int
tty_init(struct tty *tty, struct client *c, int fd, char *term)
{
char *path;
+ if (!isatty(fd))
+ return (-1);
+
memset(tty, 0, sizeof *tty);
tty->log_fd = -1;
@@ -75,13 +78,15 @@ tty_init(struct tty *tty, struct client *c, int fd, char *term)
tty->client = c;
if ((path = ttyname(fd)) == NULL)
- fatalx("ttyname failed");
+ return (-1);
tty->path = xstrdup(path);
tty->cstyle = 0;
tty->ccolour = xstrdup("");
tty->flags = 0;
tty->term_flags = 0;
+
+ return (0);
}
int