bin/163219: [patch] man: fix 'zcat: standard input is a terminal -- ignoring' when only formatted version of manpage exists

Yuri Pankov yuri.pankov at gmail.com
Tue Dec 13 02:10:09 UTC 2011


>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 at 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:


More information about the freebsd-bugs mailing list