mirror of
https://github.com/tmate-io/tmate.git
synced 2025-02-23 22:00:59 +01:00
Handle empty or unset TERM correctly; also fix a fatal() message while here.
This commit is contained in:
parent
9ced016cbc
commit
474fdebb7a
@ -211,6 +211,8 @@ server_msg_fn_identify(struct hdr *hdr, struct client *c)
|
|||||||
c->tty.term_flags |= TERM_88COLOURS;
|
c->tty.term_flags |= TERM_88COLOURS;
|
||||||
if (data.flags & IDENTIFY_HASDEFAULTS)
|
if (data.flags & IDENTIFY_HASDEFAULTS)
|
||||||
c->tty.term_flags |= TERM_HASDEFAULTS;
|
c->tty.term_flags |= TERM_HASDEFAULTS;
|
||||||
|
|
||||||
|
if (term != NULL)
|
||||||
xfree(term);
|
xfree(term);
|
||||||
|
|
||||||
c->flags |= CLIENT_TERMINAL;
|
c->flags |= CLIENT_TERMINAL;
|
||||||
|
4
tty.c
4
tty.c
@ -76,7 +76,7 @@ void
|
|||||||
tty_init(struct tty *tty, char *path, char *term)
|
tty_init(struct tty *tty, char *path, char *term)
|
||||||
{
|
{
|
||||||
tty->path = xstrdup(path);
|
tty->path = xstrdup(path);
|
||||||
if (term == NULL)
|
if (term == NULL || *term == '\0')
|
||||||
tty->termname = xstrdup("unknown");
|
tty->termname = xstrdup("unknown");
|
||||||
else
|
else
|
||||||
tty->termname = xstrdup(term);
|
tty->termname = xstrdup(term);
|
||||||
@ -98,7 +98,7 @@ tty_open(struct tty *tty, char **cause)
|
|||||||
if ((mode = fcntl(tty->fd, F_GETFL)) == -1)
|
if ((mode = fcntl(tty->fd, F_GETFL)) == -1)
|
||||||
fatal("fcntl failed");
|
fatal("fcntl failed");
|
||||||
if (fcntl(tty->fd, F_SETFL, mode|O_NONBLOCK) == -1)
|
if (fcntl(tty->fd, F_SETFL, mode|O_NONBLOCK) == -1)
|
||||||
fatal("fcntl failedo");
|
fatal("fcntl failed");
|
||||||
if (fcntl(tty->fd, F_SETFD, FD_CLOEXEC) == -1)
|
if (fcntl(tty->fd, F_SETFD, FD_CLOEXEC) == -1)
|
||||||
fatal("fcntl failed");
|
fatal("fcntl failed");
|
||||||
|
|
||||||
|
Loading…
Reference in New Issue
Block a user