* readline/terminal.c (_rl_get_screen_size): Get console size from
the Windows API when compiling with MinGW.
This commit is contained in:
parent
19a7219fd1
commit
d4fdc52404
2 changed files with 24 additions and 0 deletions
|
@ -1,3 +1,8 @@
|
|||
2005-02-10 Denis Pilat <denis.pilat@st.com>
|
||||
|
||||
* readline/terminal.c (_rl_get_screen_size): Get console size from
|
||||
the Windows API when compiling with MinGW.
|
||||
|
||||
2005-07-25 Mark Mitchell <mark@codesourcery.com>
|
||||
|
||||
* input.c (rl_getc): Use getch to read console input on
|
||||
|
|
|
@ -70,6 +70,11 @@
|
|||
#include "rlshell.h"
|
||||
#include "xmalloc.h"
|
||||
|
||||
#if defined (__MINGW32__)
|
||||
# include <windows.h>
|
||||
# include <wincon.h>
|
||||
#endif
|
||||
|
||||
#define CUSTOM_REDISPLAY_FUNC() (rl_redisplay_function != rl_redisplay)
|
||||
#define CUSTOM_INPUT_FUNC() (rl_getc_function != rl_getc)
|
||||
|
||||
|
@ -209,6 +214,20 @@ _rl_get_screen_size (tty, ignore_env)
|
|||
}
|
||||
#endif /* TIOCGWINSZ */
|
||||
|
||||
/* For MinGW, we get the console size from the Windows API. */
|
||||
#if defined (__MINGW32__)
|
||||
HANDLE hConOut = GetStdHandle (STD_OUTPUT_HANDLE);
|
||||
if (hConOut != INVALID_HANDLE_VALUE)
|
||||
{
|
||||
CONSOLE_SCREEN_BUFFER_INFO scr;
|
||||
if (GetConsoleScreenBufferInfo (hConOut, &scr))
|
||||
{
|
||||
_rl_screenwidth = scr.dwSize.X;
|
||||
_rl_screenheight = scr.srWindow.Bottom - scr.srWindow.Top + 1;
|
||||
}
|
||||
}
|
||||
#endif
|
||||
|
||||
#if defined (__EMX__)
|
||||
_emx_get_screensize (&_rl_screenwidth, &_rl_screenheight);
|
||||
#endif
|
||||
|
|
Loading…
Reference in a new issue