aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--win32/winansi.c8
1 files changed, 5 insertions, 3 deletions
diff --git a/win32/winansi.c b/win32/winansi.c
index 0a637670c..d9e0835ce 100644
--- a/win32/winansi.c
+++ b/win32/winansi.c
@@ -124,7 +124,7 @@ static void erase_till_end_of_screen(void)
124 &dummy); 124 &dummy);
125 125
126 pos.X = 0; 126 pos.X = 0;
127 for (pos.Y = sbi.dwCursorPosition.Y+1; pos.Y < sbi.dwSize.Y; pos.Y++) { 127 for (pos.Y = sbi.dwCursorPosition.Y+1; pos.Y < sbi.srWindow.Bottom; pos.Y++) {
128 FillConsoleOutputCharacterA(console, ' ', sbi.dwSize.X, 128 FillConsoleOutputCharacterA(console, ' ', sbi.dwSize.X,
129 pos, &dummy); 129 pos, &dummy);
130 FillConsoleOutputAttribute(console, plain_attr, sbi.dwSize.X, 130 FillConsoleOutputAttribute(console, plain_attr, sbi.dwSize.X,
@@ -159,12 +159,14 @@ static void move_cursor_column(int n)
159static void move_cursor(int x, int y) 159static void move_cursor(int x, int y)
160{ 160{
161 COORD pos; 161 COORD pos;
162 CONSOLE_SCREEN_BUFFER_INFO sbi;
162 163
163 if (!console) 164 if (!console)
164 return; 165 return;
165 166
166 pos.X = x; 167 GetConsoleScreenBufferInfo(console, &sbi);
167 pos.Y = y; 168 pos.X = sbi.srWindow.Left + x;
169 pos.Y = sbi.srWindow.Top + y;
168 SetConsoleCursorPosition(console, pos); 170 SetConsoleCursorPosition(console, pos);
169} 171}
170 172