From c8505d9515e240b816d67a5b4a08ccfd4268cb6a Mon Sep 17 00:00:00 2001 From: Ingo Schwarze Date: Mon, 9 Jan 2017 17:49:57 +0000 Subject: Use stdout rather than stdin for controlling the terminal such that "cat foo.mdoc | man -l" works. Issue reported by Christian Neukirchen and also tested by him on Void Linux with both glibc and musl. The patch makes sense to millert@. --- tag.c | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) (limited to 'tag.c') 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 * @@ -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); -- cgit v1.2.3