aboutsummaryrefslogtreecommitdiffstatshomepage
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
commitc8505d9515e240b816d67a5b4a08ccfd4268cb6a (patch)
treeb42cfed99cb98d937f607641b3ccd2e90ac6aa18 /tag.c
parent57d2969f5561fe3980763539d31856762bb3673e (diff)
downloadmandoc-c8505d9515e240b816d67a5b4a08ccfd4268cb6a.tar.gz
mandoc-c8505d9515e240b816d67a5b4a08ccfd4268cb6a.tar.zst
mandoc-c8505d9515e240b816d67a5b4a08ccfd4268cb6a.zip
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.c6
1 files changed, 3 insertions, 3 deletions
diff --git a/tag.c b/tag.c
index a618c4a0..0fbd2e10 100644
--- a/tag.c
+++ b/tag.c
@@ -1,4 +1,4 @@
-/* $Id: tag.c,v 1.16 2016/11/08 16:23:58 schwarze Exp $ */
+/* $Id: tag.c,v 1.17 2017/01/09 17:49:58 schwarze Exp $ */
/*
* Copyright (c) 2015, 2016 Ingo Schwarze <schwarze@openbsd.org>
*
@@ -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);