Date: Fri, 20 Oct 2000 13:38:25 +0100 From: John Murphy <bigotfo@bigfoot.com> To: questions@freebsd.org Subject: Re: man2html misses lines and man man2html fails Message-ID: <vcuuusk6c197r11e7n6oo12cen7rbgti6l@4ax.com>
index | next in thread | raw e-mail
Mark Ovens wrote:
>Date: Thu, 19 Oct 2000 21:49:37 +0100
>On Thu, Oct 19, 2000 at 03:38:19PM -0400, Andresen,Jason R. wrote:
>>
>>
>> John Murphy wrote:
>> >
>> > Using FreeBSD-4.1 and man2html via man.cgi I find that when it
>> > converts man pages (eg: tcpdump) that have page numbering, it
>> > misses the last line of text above the page break, and the first
>> > line of text below the page break.
>> >
>> > Unfortunately #man man2html fails with:
>> > zcat: /usr/local/man/cat1/man2html.1.gz: not in gzip format
>> >
>> > #cd /usr/local/man/cat1
>> > #file man2html.1.gz
>> > man2html.1.gz: data
>> >
>> > Any clues appreciated
>> > John.
>>
>> Try looking at the first few lines of the file. That should give
>> you a clue what type of file it is.
>>
>
>It will have "Formatting page, please wait..." at the start. The man2html
Slight variation, I get two lines:
<standard input>:23: a tab character is not allowed before an argument
<standard input>:33: a tab character is not allowed before an argument
followed by ^_ and other characters from the ascii art set :)
>port has just been fixed. What was happening was that STDERR was being
>closed before man.cgi called man(1). If the catpage didn't exist you get
>the "Formatting....." message but, since STDERR is closed, it goes to
>STDOUT and so ends up at the start of the catpage, before the output from
>gzip. Then when man(1) tries to view the page gzip(1) can't understand the
>file.
I remember you mentioned the possibility when you told me where man.cgi is.
>If you can't update the port just move the line ``close(STDERR)'' in
>man.cgi thus:
>
> # Convert output from man to html
> #--------------------------------
>From here>>># close(STDERR);
> open(MANPRG, "-|") or exec($ManPrg, @manargs);
> $Man2Html::InFH = \*MANPRG; # set input filehandle
> require $ManConvPrg or
> error("Problem executing man->HTML converter");
>To here>>> close(STDERR);
Easy enough, and thanks for the explanation.
man man2html works after removing the two lines (with ee no less),
and still works after dragging it through man.cgi & man2html.
>The problem with missing lines can be cured by setting ``-topm'' and
>``-botm'' to 0, either in man.cgi itself (the ``@ConvArgs'' line) or as an
>option when man.cgi is run. I haven't figured out exactly why this occurs,
>but it seems to be due to FreeBSD manpages being in 2 formats; -mdoc and
>-man.
@ConvArgs = ("-topm", "0", "-botm", "0");
Fixed it thanks Mark.
It's good to have this working. Hyperlinked man pages are cool...
John.
To Unsubscribe: send mail to majordomo@FreeBSD.org
with "unsubscribe freebsd-questions" in the body of the message
help
Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?vcuuusk6c197r11e7n6oo12cen7rbgti6l>
