summaryrefslogtreecommitdiffstats
path: root/tag.c
diff options
context:
space:
mode:
authorIngo Schwarze <schwarze@openbsd.org>2017-01-09 17:49:57 +0000
committerIngo Schwarze <schwarze@openbsd.org>2017-01-09 17:49:57 +0000
commit6a8c332380e498f7df739486f006b1a0d4bb4623 (patch)
treed05776ef0423f7627ed23a1238521d99d4d742fa /tag.c
parent53f41c5f2c82d63b4314e0540783fea0cb793f52 (diff)
downloadmandoc-6a8c332380e498f7df739486f006b1a0d4bb4623.tar.gz
Use stdout rather than stdin for controlling the terminal
such that "cat foo.mdoc | man -l" works. Issue reported by Christian Neukirchen <chneukirchen at gmail dot com> and also tested by him on Void Linux with both glibc and musl. The patch makes sense to millert@.
Diffstat (limited to 'tag.c')
-rw-r--r--tag.c4
1 files changed, 2 insertions, 2 deletions
diff --git a/tag.c b/tag.c
index e7e402b2..381791be 100644
--- a/tag.c
+++ b/tag.c
@@ -221,11 +221,11 @@ tag_unlink(void)
pid_t tc_pgid;
if (tag_files.tcpgid != -1) {
- tc_pgid = tcgetpgrp(STDIN_FILENO);
+ tc_pgid = tcgetpgrp(tag_files.ofd);
if (tc_pgid == tag_files.pager_pid ||
tc_pgid == getpgid(0) ||
getpgid(tc_pgid) == -1)
- (void)tcsetpgrp(STDIN_FILENO, tag_files.tcpgid);
+ (void)tcsetpgrp(tag_files.ofd, tag_files.tcpgid);
}
if (*tag_files.ofn != '\0')
unlink(tag_files.ofn);