Sync OpenBSD patchset 346:

Trim some code by moving the ioctl(TIOCGWINSZ) after SIGWINCH from the client
into the server.

This is another (the second of four) protocol version changes coming this
morning, so again the server should be killed before upgrading.
This commit is contained in:
Tiago Cunha
2009-09-23 14:44:02 +00:00
parent acedc2dcf2
commit 2acf349d4e
4 changed files with 37 additions and 66 deletions

23
tty.c
View File

@@ -1,4 +1,4 @@
/* $Id: tty.c,v 1.134 2009-09-23 14:39:30 tcunha Exp $ */
/* $Id: tty.c,v 1.135 2009-09-23 14:44:02 tcunha Exp $ */
/*
* Copyright (c) 2007 Nicholas Marriott <nicm@users.sourceforge.net>
@@ -73,6 +73,27 @@ tty_init(struct tty *tty, int fd, char *term)
tty->term_flags = 0;
}
void
tty_resize(struct tty *tty)
{
struct winsize ws;
if (ioctl(tty->fd, TIOCGWINSZ, &ws) != -1) {
tty->sx = ws.ws_col;
tty->sy = ws.ws_row;
}
if (tty->sx == 0)
tty->sx = 80;
if (tty->sy == 0)
tty->sy = 24;
tty->cx = UINT_MAX;
tty->cy = UINT_MAX;
tty->rupper = UINT_MAX;
tty->rlower = UINT_MAX;
}
int
tty_open(struct tty *tty, const char *overrides, char **cause)
{