about summary refs log tree commit diff
path: root/mscan.c
diff options
context:
space:
mode:
authorLeah Neukirchen <leah@vuxu.org>2017-11-28 18:31:49 +0100
committerLeah Neukirchen <leah@vuxu.org>2017-11-28 18:31:49 +0100
commit4d404753642db08df0d86876845b96ba0ea3b0c5 (patch)
tree01d915ff2430df33b8e4c71e7c0466254df091a1 /mscan.c
parent3e6f8047a6275d486139136153a08d51b18d3abd (diff)
downloadmblaze-4d404753642db08df0d86876845b96ba0ea3b0c5.tar.gz
mblaze-4d404753642db08df0d86876845b96ba0ea3b0c5.tar.xz
mblaze-4d404753642db08df0d86876845b96ba0ea3b0c5.zip
mscan: fetch window size from /dev/tty
Fixes mscan width inside mless.
Diffstat (limited to 'mscan.c')
-rw-r--r--mscan.c5
1 files changed, 4 insertions, 1 deletions
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)