*/
#ifndef lint
-static char rcsid[] = "$Id: sys-bsd.c,v 1.19 1995/05/19 03:27:03 paulus Exp $";
+static char rcsid[] = "$Id: sys-bsd.c,v 1.20 1995/08/11 02:36:21 paulus Exp $";
#endif
/*
static int restore_term; /* 1 => we've munged the terminal */
static struct termios inittermios; /* Initial TTY termios */
+static struct winsize wsinfo; /* Initial window size info */
static char *lock_file; /* name of lock file created */
die(1);
}
- if (!restore_term)
+ if (!restore_term) {
inittermios = tios;
+ ioctl(fd, TIOCGWINSZ, &wsinfo);
+ }
tios.c_cflag &= ~(CSIZE | CSTOPB | PARENB | CLOCAL);
if (crtscts > 0)
if (tcsetattr(fd, TCSAFLUSH, &inittermios) < 0)
if (errno != ENXIO)
syslog(LOG_WARNING, "tcsetattr: %m");
+ ioctl(fd, TIOCSWINSZ, &wsinfo);
restore_term = 0;
}
}
*/
#ifndef lint
-static char rcsid[] = "$Id: sys-str.c,v 1.22 1995/07/04 12:35:56 paulus Exp $";
+static char rcsid[] = "$Id: sys-str.c,v 1.23 1995/08/11 02:36:23 paulus Exp $";
#endif
/*
static int restore_term; /* 1 => we've munged the terminal */
static struct termios inittermios; /* Initial TTY termios */
+static struct winsize wsinfo; /* Initial window size info */
int sockfd; /* socket for doing interface ioctls */
static char *lock_file; /* lock file created for serial port */
die(1);
}
- if (!restore_term)
+ if (!restore_term) {
inittermios = tios;
+ ioctl(fd, TIOCGWINSZ, &wsinfo);
+ }
tios.c_cflag &= ~(CSIZE | CSTOPB | PARENB | CLOCAL);
if (crtscts > 0)
if (tcsetattr(fd, TCSAFLUSH, &inittermios) < 0)
if (errno != ENXIO)
syslog(LOG_WARNING, "tcsetattr: %m");
+ ioctl(fd, TIOCSWINSZ, &wsinfo);
restore_term = 0;
}
}
*/
#ifndef lint
-static char rcsid[] = "$Id: sys-svr4.c,v 1.4 1995/08/10 06:53:39 paulus Exp $";
+static char rcsid[] = "$Id: sys-svr4.c,v 1.5 1995/08/11 02:36:24 paulus Exp $";
#endif
#include <stdio.h>
static int restore_term;
static struct termios inittermios;
+static struct winsize wsinfo; /* Initial window size info */
static pid_t tty_sid; /* original session ID for terminal */
static int link_mtu, link_mru;
die(1);
}
- if (!restore_term)
+ if (!restore_term) {
inittermios = tios;
+ ioctl(fd, TIOCGWINSZ, &wsinfo);
+ }
tios.c_cflag &= ~(CSIZE | CSTOPB | PARENB | CLOCAL);
if (crtscts > 0)
if (tcsetattr(fd, TCSAFLUSH, &inittermios) < 0)
if (!hungup && errno != ENXIO)
syslog(LOG_WARNING, "tcsetattr: %m");
+ ioctl(fd, TIOCSWINSZ, &wsinfo);
restore_term = 0;
}
}
*/
#ifndef lint
-static char rcsid[] = "$Id: sys-ultrix.c,v 1.13 1995/07/04 12:36:47 paulus Exp $";
+static char rcsid[] = "$Id: sys-ultrix.c,v 1.14 1995/08/11 02:36:26 paulus Exp $";
#endif
/*
static int restore_term; /* 1 => we've munged the terminal */
static struct termios inittermios; /* Initial TTY termios */
+static struct winsize wsinfo; /* Initial window size info */
static char *lock_file;
die(1);
}
- if (!restore_term)
+ if (!restore_term) {
inittermios = tios;
+ ioctl(fd, TIOCGWINSZ, &wsinfo);
+ }
tios.c_cflag &= ~(CSIZE | CSTOPB | PARENB | CLOCAL);
#ifdef CRTSCTS
if (tcsetattr(fd, TCSAFLUSH, &inittermios) < 0)
if (errno != ENXIO)
syslog(LOG_WARNING, "tcsetattr: %m");
+ ioctl(fd, TIOCSWINSZ, &wsinfo);
restore_term = FALSE;
}
}