Skip site navigation (1)Skip section navigation (2)
Date:      Tue, 13 Dec 2011 06:04:23 +0400 (MSK)
From:      Yuri Pankov <yuri.pankov@gmail.com>
To:        FreeBSD-gnats-submit@FreeBSD.org
Subject:   bin/163219: [patch] man: fix 'zcat: standard input is a terminal -- ignoring' when only formatted version of manpage exists
Message-ID:  <201112130204.pBD24Nuu045577@procyon.xvoid.org>
Resent-Message-ID: <201112130210.pBD2A8K5065159@freefall.freebsd.org>

next in thread | raw e-mail | index | archive | help

>Number:         163219
>Category:       bin
>Synopsis:       [patch] man: fix 'zcat: standard input is a terminal -- ignoring' when only formatted version of manpage exists
>Confidential:   no
>Severity:       non-critical
>Priority:       low
>Responsible:    freebsd-bugs
>State:          open
>Quarter:        
>Keywords:       
>Date-Required:
>Class:          sw-bug
>Submitter-Id:   current-users
>Arrival-Date:   Tue Dec 13 02:10:08 UTC 2011
>Closed-Date:
>Last-Modified:
>Originator:     Yuri Pankov
>Release:        FreeBSD 9.0-RC3 amd64
>Organization:
>Environment:
System: FreeBSD procyon.xvoid.org 9.0-RC3 FreeBSD 9.0-RC3 #1 r228385: Sat Dec 10 07:29:02 MSK 2011 yuri@procyon.xvoid.org:/usr/obj/data/src/freebsd/releng/9.0/sys/GENERIC amd64
>Description:
/usr/bin/man emits a 'zcat: standard input is a terminal -- ignoring' when only formatted version of the manpage exists - coming from man_check_for_so. Just return there if `manpage' is an empty string.
>How-To-Repeat:
run catman; remove /usr/share/man/man1/man.1.gz; run man man:
procyon:yuri:~$ man -d man
-- Using architecture: amd64:amd64
-- Using pager: less -ins
-- Using manual sections: 1:1aout:8:2:3:n:4:5:6:7:9:l
-- Searching PATH for man directories
--   Adding /usr/share/man to manpath
--   Adding /usr/local/man to manpath
-- Adding default manpath entries
--   Adding /usr/share/openssl/man to manpath
-- Parsing config file: /usr/local/etc/man.d/perl5.12.4.conf
--   Adding /usr/local/lib/perl5/5.12.4/man to manpath
--   Adding /usr/local/lib/perl5/5.12.4/perl/man to manpath
-- Using manual path: /usr/share/man:/usr/local/man:/usr/share/openssl/man:/usr/local/lib/perl5/5.12.4/man:/usr/local/lib/perl5/5.12.4/perl/man
-- Using locale paths: en_US.UTF-8:en.UTF-8:.
-- Using standard page width
-- Searching for man
--     Found catpage /usr/share/man/cat1/man.1.gz
zcat: standard input is a terminal -- ignoring
-- Command: /usr/bin/zcat /usr/share/man/cat1/man.1.gz | less -ins
>Fix:
--- man.sh.diff begins here ---
Index: usr.bin/man/man.sh
===================================================================
--- usr.bin/man/man.sh	(revision 228449)
+++ usr.bin/man/man.sh	(working copy)
@@ -256,6 +256,11 @@
 
 	unset IFS
 
+	# We can be called with empty `manpage' if only cat page exists
+	if ! [ $manpage ]; then
+		return 0
+	fi
+
 	# We need to loop to accommodate multiple .so directives.
 	while true
 	do
--- man.sh.diff ends here ---


>Release-Note:
>Audit-Trail:
>Unformatted:



Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?201112130204.pBD24Nuu045577>