X-Git-Url: https://git.distorted.org.uk/u/mdw/putty/blobdiff_plain/2df34b4321465f778e00edfdd2b44ae8f3d2dc8f..f278d6f8b2cf652516548664d5c0d5103683c4f6:/unix/pty.c diff --git a/unix/pty.c b/unix/pty.c index 98ea4f27..42ccec16 100644 --- a/unix/pty.c +++ b/unix/pty.c @@ -18,7 +18,6 @@ #include #include "putty.h" -#include "terminal.h" #ifndef FALSE #define FALSE 0 @@ -60,6 +59,7 @@ static char pty_name[FILENAME_MAX]; static int pty_stamped_utmp = 0; static int pty_child_pid; static int pty_utmp_helper_pid, pty_utmp_helper_pipe; +static int pty_term_width, pty_term_height; static sig_atomic_t pty_child_dead; #ifndef OMIT_UTMP static struct utmp utmp_entry; @@ -71,8 +71,6 @@ int pty_child_is_dead(void) return pty_child_dead; } -static void pty_size(void); - static void setup_utmp(char *ttyname, char *location) { #ifndef OMIT_UTMP @@ -379,6 +377,9 @@ static char *pty_init(void *frontend, int slavefd; pid_t pid, pgrp; + pty_term_width = cfg.width; + pty_term_height = cfg.height; + if (pty_master_fd < 0) pty_open_master(); @@ -519,14 +520,17 @@ static int pty_sendbuffer(void) /* * Called to set the size of the window */ -static void pty_size(void) +static void pty_size(int width, int height) { struct winsize size; - size.ws_row = (unsigned short)term->rows; - size.ws_col = (unsigned short)term->cols; - size.ws_xpixel = (unsigned short) term->cols * font_dimension(0); - size.ws_ypixel = (unsigned short) term->rows * font_dimension(1); + pty_term_width = width; + pty_term_height = height; + + size.ws_row = (unsigned short)pty_term_height; + size.ws_col = (unsigned short)pty_term_width; + size.ws_xpixel = (unsigned short) pty_term_width * font_dimension(0); + size.ws_ypixel = (unsigned short) pty_term_height * font_dimension(1); ioctl(pty_master_fd, TIOCSWINSZ, (void *)&size); return; }