From 4d404753642db08df0d86876845b96ba0ea3b0c5 Mon Sep 17 00:00:00 2001 From: Leah Neukirchen Date: Tue, 28 Nov 2017 18:31:49 +0100 Subject: mscan: fetch window size from /dev/tty Fixes mscan width inside mless. --- mscan.c | 5 ++++- 1 file changed, 4 insertions(+), 1 deletion(-) (limited to 'mscan.c') diff --git a/mscan.c b/mscan.c index 4260af8..a209c2a 100644 --- a/mscan.c +++ b/mscan.c @@ -520,7 +520,8 @@ main(int argc, char *argv[]) replacement = 0xfffd; struct winsize w; - if (ioctl(1, TIOCGWINSZ, &w) == 0) { + int ttyfd = open("/dev/tty", O_RDONLY | O_NOCTTY); + if (ttyfd >= 0 && ioctl(ttyfd, TIOCGWINSZ, &w) == 0) { cols = w.ws_col; char *pg; @@ -535,6 +536,8 @@ main(int argc, char *argv[]) pg, strerror(errno)); } } + if (ttyfd >= 0) + close(ttyfd); if (getenv("COLUMNS")) cols = atoi(getenv("COLUMNS")); if (cols <= 40) -- cgit 1.4.1