diff options
author | Leah Neukirchen <leah@vuxu.org> | 2017-11-28 18:31:49 +0100 |
---|---|---|
committer | Leah Neukirchen <leah@vuxu.org> | 2017-11-28 18:31:49 +0100 |
commit | 4d404753642db08df0d86876845b96ba0ea3b0c5 (patch) | |
tree | 01d915ff2430df33b8e4c71e7c0466254df091a1 /mscan.c | |
parent | 3e6f8047a6275d486139136153a08d51b18d3abd (diff) | |
download | mblaze-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.c | 5 |
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) |