aboutsummaryrefslogtreecommitdiffstatshomepage
diff options
context:
space:
mode:
authorIngo Schwarze <schwarze@openbsd.org>2017-01-09 17:57:15 +0000
committerIngo Schwarze <schwarze@openbsd.org>2017-01-09 17:57:15 +0000
commit6fa2fc96c8edd50fe3bea17bfd82adcc5a3f9562 (patch)
tree545a2b309e8cfeab769161af6fa60b54c6a9d682
parent5c9689c87d6005b4f1f9655939100788a26fb35c (diff)
downloadmandoc-6fa2fc96c8edd50fe3bea17bfd82adcc5a3f9562.tar.gz
mandoc-6fa2fc96c8edd50fe3bea17bfd82adcc5a3f9562.tar.zst
mandoc-6fa2fc96c8edd50fe3bea17bfd82adcc5a3f9562.zip
merge rev. 1.279: make "cat foo.mdoc | man -l" work
-rw-r--r--main.c12
1 files changed, 6 insertions, 6 deletions
diff --git a/main.c b/main.c
index 77aabe5d..1e93ceb9 100644
--- a/main.c
+++ b/main.c
@@ -1,4 +1,4 @@
-/* $Id: main.c,v 1.273.2.3 2017/01/09 02:27:58 schwarze Exp $ */
+/* $Id: main.c,v 1.273.2.4 2017/01/09 17:57:15 schwarze Exp $ */
/*
* Copyright (c) 2008-2012 Kristaps Dzonsons <kristaps@bsd.lv>
* Copyright (c) 2010-2012, 2014-2017 Ingo Schwarze <schwarze@openbsd.org>
@@ -551,10 +551,10 @@ out:
/* Stop here until moved to the foreground. */
- tc_pgid = tcgetpgrp(STDIN_FILENO);
+ tc_pgid = tcgetpgrp(tag_files->ofd);
if (tc_pgid != man_pgid) {
if (tc_pgid == pager_pid) {
- (void)tcsetpgrp(STDIN_FILENO,
+ (void)tcsetpgrp(tag_files->ofd,
man_pgid);
if (signum == SIGTTIN)
continue;
@@ -567,7 +567,7 @@ out:
/* Once in the foreground, activate the pager. */
if (pager_pid) {
- (void)tcsetpgrp(STDIN_FILENO, pager_pid);
+ (void)tcsetpgrp(tag_files->ofd, pager_pid);
kill(pager_pid, SIGCONT);
} else
pager_pid = spawn_pager(tag_files);
@@ -1097,7 +1097,7 @@ spawn_pager(struct tag_files *tag_files)
break;
default:
(void)setpgid(pager_pid, 0);
- (void)tcsetpgrp(STDIN_FILENO, pager_pid);
+ (void)tcsetpgrp(tag_files->ofd, pager_pid);
#if HAVE_PLEDGE
if (pledge("stdio rpath tmppath tty proc", NULL) == -1)
err((int)MANDOCLEVEL_SYSERR, "pledge");
@@ -1115,7 +1115,7 @@ spawn_pager(struct tag_files *tag_files)
/* Do not start the pager before controlling the terminal. */
- while (tcgetpgrp(STDIN_FILENO) != getpid())
+ while (tcgetpgrp(STDOUT_FILENO) != getpid())
nanosleep(&timeout, NULL);
execvp(argv[0], argv);