From 7b1eb3e7cea007a1d61bc34c53e6d0adde3af3cc Mon Sep 17 00:00:00 2001 From: Jan-Benedict Glaw Date: Tue, 13 Jul 2004 19:59:40 -0700 Subject: [PATCH] mconf.c: Honor $LINES and $COLUMNS if TIOCGWINSZ failed While reading code, I found this buglet. If the TIOCGWINSZ fails, mconf.c assumes 24/80 as screen size, without honoring the LINES and COLUMNS environment variables. This is the shorter and IMHO more correct version. Signed-off-by: Jan-Benedict Glaw Signed-off-by: Linus Torvalds --- scripts/kconfig/mconf.c | 36 +++++++++++++++++------------------- 1 file changed, 17 insertions(+), 19 deletions(-) (limited to 'scripts') diff --git a/scripts/kconfig/mconf.c b/scripts/kconfig/mconf.c index b3c24cb98bfe..6f8bf9904da9 100644 --- a/scripts/kconfig/mconf.c +++ b/scripts/kconfig/mconf.c @@ -87,7 +87,7 @@ static char filename[PATH_MAX+1] = ".config"; static char *args[1024], **argptr = args; static int indent; static struct termios ios_org; -static int rows, cols; +static int rows = 0, cols = 0; static struct menu *current_menu; static int child_count; static int do_resize; @@ -113,26 +113,24 @@ static void init_wsize(void) struct winsize ws; char *env; - if (ioctl(1, TIOCGWINSZ, &ws) == -1) { - rows = 24; - cols = 80; - } else { + if (!ioctl(STDIN_FILENO, TIOCGWINSZ, &ws)) { rows = ws.ws_row; cols = ws.ws_col; - if (!rows) { - env = getenv("LINES"); - if (env) - rows = atoi(env); - if (!rows) - rows = 24; - } - if (!cols) { - env = getenv("COLUMNS"); - if (env) - cols = atoi(env); - if (!cols) - cols = 80; - } + } + + if (!rows) { + env = getenv("LINES"); + if (env) + rows = atoi(env); + if (!rows) + rows = 24; + } + if (!cols) { + env = getenv("COLUMNS"); + if (env) + cols = atoi(env); + if (!cols) + cols = 80; } if (rows < 19 || cols < 80) { -- cgit v1.2.3