| --- popt-1.16/src/popthelp.c.orig 2012-03-31 08:51:34 +0400 |
| +++ popt-1.16/src/popthelp.c 2012-03-31 09:08:28 +0400 |
| @@ -10,9 +10,11 @@ |
| |
| #include "system.h" |
| |
| -#define POPT_USE_TIOCGWINSZ |
| +#undef POPT_USE_TIOCGWINSZ |
| #ifdef POPT_USE_TIOCGWINSZ |
| #include <sys/ioctl.h> |
| +#elif defined(_WIN32_WINNT) && !defined(__CYGWIN__) |
| +#include <windows.h> |
| #endif |
| |
| #define POPT_WCHAR_HACK |
| @@ -123,8 +125,18 @@ |
| if (ws_col > maxcols && ws_col < (size_t)256) |
| maxcols = ws_col - 1; |
| } |
| -#endif |
| return maxcols; |
| +#elif defined(_WIN32_WINNT) && !defined(__CYGWIN__) |
| + HANDLE hStdout; |
| + CONSOLE_SCREEN_BUFFER_INFO cbi; |
| + hStdout = GetStdHandle (STD_OUTPUT_HANDLE); |
| + if (hStdout == INVALID_HANDLE_VALUE) |
| + return maxcols; |
| + if (0 == GetConsoleScreenBufferInfo (hStdout, &cbi)) |
| + return maxcols; |
| + else |
| + return cbi.dwSize.X; |
| +#endif |
| } |
| |
| /** |