aboutsummaryrefslogtreecommitdiff
path: root/win32/winansi.c
diff options
context:
space:
mode:
Diffstat (limited to 'win32/winansi.c')
-rw-r--r--win32/winansi.c17
1 files changed, 17 insertions, 0 deletions
diff --git a/win32/winansi.c b/win32/winansi.c
index c0493c77e..757a3509d 100644
--- a/win32/winansi.c
+++ b/win32/winansi.c
@@ -596,6 +596,23 @@ int winansi_get_terminal_width_height(struct winsize *win)
596 return ret ? 0 : -1; 596 return ret ? 0 : -1;
597} 597}
598 598
599int winansi_set_terminal_width_height(struct winsize *win)
600{
601 BOOL ret;
602 CONSOLE_SCREEN_BUFFER_INFOEX sbi;
603
604 init();
605
606 sbi.cbSize = sizeof(sbi);
607 if ((ret=GetConsoleScreenBufferInfoEx(console, &sbi)) != 0) {
608 sbi.srWindow.Bottom = sbi.srWindow.Top + win->ws_row;
609 sbi.srWindow.Right = sbi.srWindow.Left + win->ws_col;
610 ret = SetConsoleScreenBufferInfoEx(console, &sbi);
611 }
612
613 return ret ? 0 : -1;
614}
615
599static int ansi_emulate_write(int fd, const void *buf, size_t count) 616static int ansi_emulate_write(int fd, const void *buf, size_t count)
600{ 617{
601 int rv = 0, i; 618 int rv = 0, i;