diff options
author | krakjoe <joe.watkins@live.co.uk> | 2014-02-17 07:40:35 +0000 |
---|---|---|
committer | krakjoe <joe.watkins@live.co.uk> | 2014-02-17 07:40:35 +0000 |
commit | 1fce0887a32b18f11ff08ab81bc11d4b77992f89 (patch) | |
tree | 70a0804285e671f17478895faeb89ca5bf2a472d /phpdbg_utils.c | |
parent | 3cabee71ab57020336aa92378e406199dc551397 (diff) | |
parent | f89f66d7620c316e751d5a3335a012070e7de457 (diff) | |
download | php-git-1fce0887a32b18f11ff08ab81bc11d4b77992f89.tar.gz |
Merge branch 'master' of https://github.com/krakjoe/phpdbg into lexer
Diffstat (limited to 'phpdbg_utils.c')
-rw-r--r-- | phpdbg_utils.c | 21 |
1 files changed, 21 insertions, 0 deletions
diff --git a/phpdbg_utils.c b/phpdbg_utils.c index 1effcfccaf..d64d9ad686 100644 --- a/phpdbg_utils.c +++ b/phpdbg_utils.c @@ -30,6 +30,8 @@ #ifdef _WIN32 # include "win32/time.h" +#elif defined(HAVE_SYS_IOCTL_H) +# include "sys/ioctl.h" #endif ZEND_EXTERN_MODULE_GLOBALS(phpdbg); @@ -385,3 +387,22 @@ PHPDBG_API const char *phpdbg_get_prompt(TSRMLS_D) /* {{{ */ return PHPDBG_G(prompt)[1]; } /* }}} */ + +PHPDBG_API int phpdbg_get_terminal_width(TSRMLS_D) /* {{{ */ +{ + int columns; +#ifdef _WIN32 + CONSOLE_SCREEN_BUFFER_INFO csbi; + + GetConsoleScreenBufferInfo(GetStdHandle(STD_OUTPUT_HANDLE), &csbi); + columns = csbi.srWindow.Right - csbi.srWindow.Left + 1; +#elif defined(HAVE_SYS_IOCTL_H) + struct winsize w; + + columns = ioctl(fileno(stdout), TIOCGWINSZ, &w) == 0 ? w.ws_col : 100; +#else + columns = 100; +#endif + return columns; +} /* }}} */ + |