From owner-freebsd-hackers Wed Jan 17 3: 1:24 2001 Delivered-To: freebsd-hackers@freebsd.org Received: from level3.dynacom.net (level3.dynacom.net [206.107.213.213]) by hub.freebsd.org (Postfix) with SMTP id 2DBF237B400 for ; Wed, 17 Jan 2001 03:01:06 -0800 (PST) Received: (qmail 22275 invoked by uid 0); 17 Jan 2001 11:01:02 -0000 Received: from unknown (HELO urx.com) (206.159.132.160) by mail.urx.com with SMTP; 17 Jan 2001 11:01:02 -0000 Message-ID: <3A657B6E.673E6EEC@urx.com> Date: Wed, 17 Jan 2001 03:01:02 -0800 From: Kent Stewart Reply-To: kstewart@urx.com Organization: Dynacom X-Mailer: Mozilla 4.76 [en] (Windows NT 5.0; U) X-Accept-Language: en MIME-Version: 1.0 To: Matt Dillon Cc: freebsd-hackers@freebsd.org Subject: Re: Possible bug in /usr/bin/makewhatis. References: <200101170441.f0H4fmw45025@earth.backplane.com> Content-Type: text/plain; charset=us-ascii Content-Transfer-Encoding: 7bit Sender: owner-freebsd-hackers@FreeBSD.ORG Precedence: bulk X-Loop: FreeBSD.ORG Matt Dillon wrote: > > 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. It also only happens if you are running ssh to logon to the computer doing the makewhatis. You can telnet to the system and you don't see the problem. Kent > > 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 -- Kent Stewart Richland, WA mailto:kbstew99@hotmail.com http://kstewart.urx.com/kstewart/index.html FreeBSD News http://daily.daemonnews.org/ To Unsubscribe: send mail to majordomo@FreeBSD.org with "unsubscribe freebsd-hackers" in the body of the message