Browse Source

* readline/terminal.c (_rl_get_screen_size): Get console size from

the Windows API when compiling with MinGW.
readline_5_1-import-branch
Daniel Jacobowitz 21 years ago
parent
commit
d4fdc52404
  1. 5
      readline/ChangeLog.gdb
  2. 19
      readline/terminal.c

5
readline/ChangeLog.gdb

@ -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

19
readline/terminal.c

@ -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…
Cancel
Save