# HG changeset patch # User jlahoda # Date 1484299941 -3600 # Fri Jan 13 10:32:21 2017 +0100 # Node ID 0e1e0ad7d09710cf83cff9d4e56cc8c52553b598 # Parent 766677da17b5365ec7090b8f3b10c11ae21844f1 [mq]: 8171386 diff --git a/src/jdk.internal.le/windows/native/lible/WindowsTerminal.cpp b/src/jdk.internal.le/windows/native/lible/WindowsTerminal.cpp --- a/src/jdk.internal.le/windows/native/lible/WindowsTerminal.cpp +++ b/src/jdk.internal.le/windows/native/lible/WindowsTerminal.cpp @@ -102,26 +102,26 @@ JNIEXPORT jint JNICALL Java_jdk_internal_jline_WindowsTerminal_getWindowsTerminalWidth (JNIEnv *, jobject) { - HANDLE hStdIn; - if ((hStdIn = GetStdHandle(STD_INPUT_HANDLE)) == INVALID_HANDLE_VALUE) { + HANDLE hStdOut; + if ((hStdOut = GetStdHandle(STD_OUTPUT_HANDLE)) == INVALID_HANDLE_VALUE) { return -1; } CONSOLE_SCREEN_BUFFER_INFO info; - if (! GetConsoleScreenBufferInfo(hStdIn, &info)) { + if (! GetConsoleScreenBufferInfo(hStdOut, &info)) { return -1; } - return info.dwSize.X; + return info.srWindow.Right - info.srWindow.Left; } JNIEXPORT jint JNICALL Java_jdk_internal_jline_WindowsTerminal_getWindowsTerminalHeight (JNIEnv *, jobject) { - HANDLE hStdIn; - if ((hStdIn = GetStdHandle(STD_INPUT_HANDLE)) == INVALID_HANDLE_VALUE) { + HANDLE hStdOut; + if ((hStdOut = GetStdHandle(STD_OUTPUT_HANDLE)) == INVALID_HANDLE_VALUE) { return -1; } CONSOLE_SCREEN_BUFFER_INFO info; - if (! GetConsoleScreenBufferInfo(hStdIn, &info)) { + if (! GetConsoleScreenBufferInfo(hStdOut, &info)) { return -1; } - return info.dwSize.Y; + return info.srWindow.Bottom - info.srWindow.Top + 1; }