aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorRon Yorston <rmy@pobox.com>2016-08-03 15:50:00 +0100
committerRon Yorston <rmy@pobox.com>2016-08-03 15:50:00 +0100
commit1db2fafb1173038586cbb3d6673e1549a681c3fe (patch)
tree65277cae712930331e3d9bb3c62cab1e6a6c1cad
parent759188eae5651f1fbca45be310b0b9b46d876080 (diff)
downloadbusybox-w32-stty.tar.gz
busybox-w32-stty.tar.bz2
busybox-w32-stty.zip
stty: adjust console buffer when console size changesstty
The console buffer width is made to match the console width; the buffer height must always be greater than or equal to the number of rows in the console.
-rw-r--r--win32/winansi.c6
1 files changed, 6 insertions, 0 deletions
diff --git a/win32/winansi.c b/win32/winansi.c
index 757a3509d..aafd866a1 100644
--- a/win32/winansi.c
+++ b/win32/winansi.c
@@ -605,6 +605,12 @@ int winansi_set_terminal_width_height(struct winsize *win)
605 605
606 sbi.cbSize = sizeof(sbi); 606 sbi.cbSize = sizeof(sbi);
607 if ((ret=GetConsoleScreenBufferInfoEx(console, &sbi)) != 0) { 607 if ((ret=GetConsoleScreenBufferInfoEx(console, &sbi)) != 0) {
608 if (sbi.dwSize.X != win->ws_col) {
609 sbi.dwSize.X = win->ws_col;
610 }
611 if (sbi.dwSize.Y < win->ws_row) {
612 sbi.dwSize.Y = win->ws_row;
613 }
608 sbi.srWindow.Bottom = sbi.srWindow.Top + win->ws_row; 614 sbi.srWindow.Bottom = sbi.srWindow.Top + win->ws_row;
609 sbi.srWindow.Right = sbi.srWindow.Left + win->ws_col; 615 sbi.srWindow.Right = sbi.srWindow.Left + win->ws_col;
610 ret = SetConsoleScreenBufferInfoEx(console, &sbi); 616 ret = SetConsoleScreenBufferInfoEx(console, &sbi);