From owner-freebsd-hackers Tue Jan 16 20:42: 7 2001 Delivered-To: freebsd-hackers@freebsd.org Received: from earth.backplane.com (placeholder-dcat-1076843399.broadbandoffice.net [64.47.83.135]) by hub.freebsd.org (Postfix) with ESMTP id 5127B37B400 for ; Tue, 16 Jan 2001 20:41:49 -0800 (PST) Received: (from dillon@localhost) by earth.backplane.com (8.11.1/8.9.3) id f0H4fmw45025; Tue, 16 Jan 2001 20:41:48 -0800 (PST) (envelope-from dillon) Date: Tue, 16 Jan 2001 20:41:48 -0800 (PST) From: Matt Dillon Message-Id: <200101170441.f0H4fmw45025@earth.backplane.com> To: freebsd-hackers@freebsd.org Subject: Possible bug in /usr/bin/makewhatis. Sender: owner-freebsd-hackers@FreeBSD.ORG Precedence: bulk X-Loop: FreeBSD.ORG I was doing some installworlds and got a bunch of 'gzcat: Broken pipe' errors at the very end when it was doing 'makewhatis' on various manual directories. I believe the problem is related to the makewhatis perl script closing the input descriptor before draining all the input, but not being a perl progammer I can't tell for sure. The place where the perl program appeared to be closing the input prematurely is here: # ``man'' style pages # &&: it takes you only half the user time, regexp is slow!!! if (/^\.SH/ && /^\.SH[ \t]+["]?($section_name)["]?/) { #while() { last unless /^\./ } # Skip #chop; $list = $_; while() { last if /^\.SH[ \t]/; <<<<<<<<<<<<<<<<<<<<< here chop; s/^\.IX\s.*//; # delete perlpod garbage s/^\.[A-Z]+[ ]+[0-9]+$//; # delete commands s/^\.[A-Za-z]+[ \t]*//; # delete commands s/^\.\\".*$//; #" delete comments s/^[ \t]+//; if ($_) { $list .= $_; $list .= ' '; } } &out($list); close F; return 1; <<<<<<<<<<<< closing here ... Could someone take a look at that? There might be other places as well. Thanks! -Matt To Unsubscribe: send mail to majordomo@FreeBSD.org with "unsubscribe freebsd-hackers" in the body of the message