aboutsummaryrefslogtreecommitdiff
path: root/nx-X11/extras/rman/contrib/hman.pl
diff options
context:
space:
mode:
Diffstat (limited to 'nx-X11/extras/rman/contrib/hman.pl')
-rw-r--r--nx-X11/extras/rman/contrib/hman.pl261
1 files changed, 0 insertions, 261 deletions
diff --git a/nx-X11/extras/rman/contrib/hman.pl b/nx-X11/extras/rman/contrib/hman.pl
deleted file mode 100644
index 099db0417..000000000
--- a/nx-X11/extras/rman/contrib/hman.pl
+++ /dev/null
@@ -1,261 +0,0 @@
-#!/usr/bin/perl -w
-#!/citi/gtfd/mach/bin/perl -w
-###############
-# $Id: hman.pl,v 1.1.1.4 2004/03/14 08:29:12 eich Exp $
-# $Source: /cvs/xorg/xc/extras/rman/contrib/hman.pl,v $
-############################################
-# TODO:
-# reorganize location of man pages - move 3x stuff from man3 to man3x
-# recurse - if 'man 3x curses' does not work try 'man 3 curses'
-# display more STDERR
-# Fix broken whatis entries - instead of
-# manpage section - description
-# manpage description section -
-# highlite keywords found
-# pass MANPATH as a command line argument
-############################################
-# Inspired by:
-# http://www.jinr.dubna.su/~gagin
-# http://thsun1.jinr.dubna.su/~gagin/rman.pl
-# http://thsun1.jinr.dubna.su/cgi-bin/rman.pl
-# http://www.jinr.dubna.su/~gagin/rman.pl.html
-#
-# CGI form interface to PolyglotMan program, which is available as
-# ftp://ftp.cs.berkeley.edu:/ucb/people/phelps/tcltk/rman.tar.Z
-#
-# The most recent version of this program available as
-# http://www.geocities.com/SiliconValley/Lakes/8777/hman.html
-#---------------------------------------------------------------------
-# This is free software; you can redistribute it and/or modify
-# it under the terms of the GNU General Public License as published by
-# the Free Software Foundation; either version 2, or (at your option)
-# any later version.
-#
-# hman is distributed in the hope that
-# it will be useful, but WITHOUT ANY WARRANTY; without even the implied
-# warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.
-# See the GNU General Public License for more details.
-#
-# You should have received a copy of the GNU General Public License
-# along with this software; see the file COPYING. If not, write to the
-# Free Software Foundation, Inc., 59 Temple Place - Suite 330,
-# Boston, MA 02111-1307, USA.
-#
-# THIS SOFTWARE IS NOT DESIGNED OR INTENDED FOR USE OR RESALE AS ON-LINE
-# CONTROL EQUIPMENT IN HAZARDOUS ENVIRONMENTS REQUIRING FAIL-SAFE
-# PERFOHMANCE, SUCH AS IN THE OPERATION OF NUCLEAR FACILITIES, AIRCRAFT
-# NAVIGATION OR COMMUNICATION SYSTEMS, AIR TRAFFIC CONTROL, DIRECT LIFE
-# SUPPORT MACHINES, OR WEAPONS SYSTEMS, IN WHICH THE FAILURE OF THE
-# SOFTWARE COULD LEAD DIRECTLY TO DEATH, PERSONAL INJURY, OR SEVERE
-# PHYSICAL OR ENVIRONMENTAL DAMAGE ("HIGH RISK ACTIVITIES").
-# ANY EXPRESS OR IMPLIED WARRANTY OF FITNESS FOR HIGH RISK ACTIVITIES
-# IS SPECIFICALLY DISCLAIMED.
-#---------------------------------------------------------------------
-# Request form: hman.pl?ManTopic=SOMETOPIC&ManSection=SECTION
-# Request form: hman.pl?DirectPath=filename
-#
-#---------------------------------------------------------------------
-# Stuff to change
-
-# path to PolyglotMan program. "-b" is not nessesary
-$hman="$ENV{HMANPRG} $ENV{HMANOPT}";
-
-# path to man program
-$ManPrg='/usr/bin/man';
-
-# path to cat program
-$ENV{PAGER} = '/bin/cat';
-
-# path to man directories
-($ManPathFind = $ENV{MANPATH}) =~ s/:/ /g;
-
-# URL to this program
-$hmanpl='/cgi-bin/hman';
-
-# if man produced number of lines less then follows,
-# I assume that request failed
-$emptyman=5;
-
-# tail of every produced html document
-$HtmlTail='<hr><A HREF="' . $hmanpl . '">Back to Hman</a>';
-# $HtmlTitle="<title>CGI form interface to PolyglotMan</title>\n";
-$HtmlHdr="Content-type: text/html\n\n";
-
-# end changable things
-#----------------------------------------------------------------------
-@ManSections = (
- '1', 'user commands',
- '2', 'system calls',
- '3', 'subroutines',
- '4', 'devices',
- '5', 'file formats',
- '6', 'games',
- '7', 'miscellanious',
- '8', 'sys. admin.',
- '9', 'Linux Internals',
- 'n', 'section n'
-);
-
-# Set unbuffered I/O. Prevents buffering problems with
-# "system()" calls.
-select((select(STDOUT), $| = 1)[0]);
-print $HtmlHdr;
-
-$string = $ENV{QUERY_STRING};
-#
-# Initial Form
-#
-if($string eq "") { initialForm(); }
-
-#
-# Generic parameter parsing ...
-#
-$DirectPath = $ManSection = $ManTopic = "";
-$string =~ s/&/'; \$/g;
-$string =~ s/=/='/g;
-$string =~ s/^(.*)$/\$$1';/;
-eval $string;
-
-hmanDirect($DirectPath) if ($DirectPath ne "");
-
-if ($ManTopic eq "") { badness("<code>Topic for man search needed</code>\n"); }
-
-if ($ManSection eq "") { badness("<code>No section specified</code>\n"); }
-
-$ManSection =~ s/all//;
-if ($ManSection =~ /key/) { manKey($ManTopic); }
-
-findIt($ManTopic);
-open(MANOUT, "$ManPrg $ManSection $ManTopic |")
- || die "$hmanpl: can't run \"$ManPrg Section $ManTopic |\", $!\n";
-for (0..$emptyman) {
- $temp = <MANOUT> || last;
- push @temp, $temp;
-}
-#
-if (@temp < $emptyman) {
- close(MANOUT);
- print"<strong>Request failed for topic $ManTopic:</strong>\n<code>";
- for (@temp) {print;}
- print "</code><br><h3>Let's try a keyword search:</h3><hr>\n";
- manKey($ManTopic);
-}
-#
-$cmd = "$hman -r \"$hmanpl?ManTopic=%s&ManSection=%s\" -l \"Man page for $ManTopic";
-if ($ManSection eq "") {
- $cmd .= '"';
-} else {
- $cmd .= "($ManSection)\"";
-}
-#
-open(HMANIN, "| $cmd") || die "$hmanpl: can't open $cmd: $!\n";
-for (@temp) {print HMANIN;}
-while(<MANOUT>){print HMANIN;}
-close(MANOUT);
-close(HMANIN);
-
-exitIt();
-###############################################################################
-sub initialForm {
- print <<EOF;
-<h1>Select a manual page:</h1>
- <FORM METHOD="GET" action="$hmanpl">
- <table border=0>
- <tr>
- <td align=right>Section:</td>
- <td>
- <select name=ManSection>
- <OPTION value=all>All</option>
- <OPTION value=key>Keyword Search</option>
-EOF
- for ($ndx = 0; $ndx < @ManSections; $ndx += 2) {
- print ' <OPTION value=' . $ManSections[$ndx] . '>'
- . "$ManSections[$ndx] - $ManSections[$ndx + 1] "
- . '</option>' . "\n";
- }
- print <<EOF;
- </SELECT>
- </td>
- </tr>
- <tr>
- <td align=right>Topic:</td>
- <td><input type="TEXT" name="ManTopic"></td>
- </tr>
- <tr>
- <td align=right><INPUT TYPE="submit" VALUE="Search">
- <td align=left><input type="reset" value="Reset">
- </td>
- </tr>
- </table>
- </FORM>
-EOF
- exitIt();
-}
-sub findIt {
- my($topic) = ($_[0]);
- my($cmd, $mixedCase, $navigation, $zcat);
- $mixedCase = '';
- foreach (split(/\s*/, $topic)) {
- $mixedCase .= "[" . $_ . uc($_) . "]";
- }
- $cmd = 'find ' . $ManPathFind . ' \( -type f -o -type l \) -name '
- . $mixedCase .'\* | sort -t. +1';
- open(FINDIN, "$cmd |") || die "can't open pipe \"$cmd |\": $!";
- $navigation = 0;
- while (<FINDIN>) {
- if ($navigation == 0) {
- print "<UL>\n";
- $navigation = 1;
- }
- $_ =~ s/[\n\r]*$//;
- print "<li><A HREF=\"$hmanpl?DirectPath=$_\">$_</a>\n";
- }
- close(FINDIN);
- print "</UL><hr>\n" if ($navigation == 1);
-}
-sub hmanDirect {
- my($path) = ($_[0], $_[1]);
- my($cmd, $dir, $topic, $section);
- ($dir = $path) =~ s/\.(gz|z|Z)$//;
- ($topic = $dir) =~ s,^.*/,,;
- $dir =~ s,/[^/]*/[^/]*$,,;
- # $dir =~ s,/[^/]*$,,;
- ($section=$topic)=~s/^.*\.([^\.]*)$/$1/;
- $topic =~ s/\.[^\.]*$//;
- findIt($topic);
- $cmd = "cd $dir; (gzip -dc < $path 2>/dev/null || cat < $path) | $hman -r '"
- . $hmanpl . '?ManTopic=%s&ManSection=%s' ."' -l 'Man page for $topic($section)'";
- system($cmd) || warn "can't run command \"$cmd\": $!";
- print $HtmlTail;
- exit 0;
-}
-sub exitIt {
- print $HtmlTail;
- exit 0;
-}
-sub badness {
- my($text) = ($_[0]);
- print "<strong>Request failed:</strong> $text, Try again<hr>\n";
- initialForm();
-}
-sub manKey {
- my($topic) = ($_[0]);
- open(TMPHTML,"$ManPrg -k $topic | sort -u |")
- || die "can't open pipe \"$ManPrg -k $topic | sort -u |\": $!\n";
- print "<title>Keyword search results for \"$topic\"</title>\n";
- print "<h1>Keyword search results for \"$topic\"</h1><hr>\n";
- while(<TMPHTML>) {
- s/\( \)//g;
- next if (! /^([^(]+)\s*\(([^)]+)[^-]+-\s(.*)[\n\r]*$/);
- @topics=split(/, /,$1);
- next if ($2 eq "");
- print "<h2>$3:</h2>\n";
- print "<UL>\n";
- for $topic (@topics) {
- print "<li><A HREF=\"$hmanpl?ManSection=$2&ManTopic=$topic\">$topic</a>($2)\n";
- }
- print "</UL>\n";
- }
- close(TMPHTML);
- exitIt();
-}