From ea77e675e564211513ebedb4f5bdcda482d7fd30 Mon Sep 17 00:00:00 2001 From: Linus Torvalds Date: Sun, 18 Dec 2005 12:15:58 -0800 Subject: [PATCH] Make "git help" react to window size correctly Currently the git "show commands" function will react to the environment variable COLUMNS, or just default to a width of 80 characters. That's just soo eighties. Nobody sane sets COLUMNS any more, unless they need to support some stone-age software from before the age of steam engines, SIGWINCH and TIOCGWINSZ. So get with the new century, and use TIOCGWINSZ to get the terminal size. Signed-off-by: Linus Torvalds Signed-off-by: Junio C Hamano --- git.c | 11 +++++++++++ 1 file changed, 11 insertions(+) diff --git a/git.c b/git.c index c26cac65..157c5491 100644 --- a/git.c +++ b/git.c @@ -8,6 +8,7 @@ #include #include #include +#include #include "git-compat-util.h" #ifndef PATH_MAX @@ -26,6 +27,16 @@ static int term_columns(void) if (col_string && (n_cols = atoi(col_string)) > 0) return n_cols; +#ifdef TIOCGWINSZ + { + struct winsize ws; + if (!ioctl(1, TIOCGWINSZ, &ws)) { + if (ws.ws_col) + return ws.ws_col; + } + } +#endif + return 80; } -- 2.11.0