Commit 13c0ff55 authored by Nemo Inis's avatar Nemo Inis Committed by Tatsuya Kinoshita

w3mman support for section number during keyword search

Origin: https://bugs.debian.org/cgi-bin/bugreport.cgi?bug=916968#5
parent 87b2653b
......@@ -30,6 +30,8 @@ w3mman \- an interface to the on-line reference manuals via w3m(1)
.B w3mman
[
.BI \-M " path"
] [
.I section
]
.BI \-k " keyword"
.br
......
......@@ -6,8 +6,8 @@ $SCRIPT = 'file:///$LIB/w3mman2html.cgi';
sub usage {
($_ = $0) =~ s@.*/@@;
print STDERR "$_ [-M <path>] [[<section>] <command>]\n";
print STDERR "$_ [-M <path>] [-k <keyword>]\n";
print STDERR "$_ [-M <path>] [<section>] <command>]\n";
print STDERR "$_ [-M <path>] [<section>] [-k <keyword>]\n";
print STDERR "$_ [-l <file>]\n";
exit 1;
}
......@@ -20,7 +20,8 @@ while (@ARGV) {
$ENV{'MANPATH'} = shift @ARGV;
} elsif (/^-k$/) {
@ARGV || &usage();
$query = "?keyword=" . &form_encode(shift @ARGV);
if ( $query eq "" ) { $query = "?quit=ok"; }
$query .= "&keyword=" . &form_encode(shift @ARGV);
} elsif (/^-l$/) {
@ARGV || &usage();
$query = "?quit=ok&local=" . &form_encode(shift @ARGV);
......@@ -28,11 +29,11 @@ while (@ARGV) {
} elsif (/^-/) {
&usage();
} elsif (/^\d/ || $_ eq 'n') {
@ARGV || &usage();
$query = "?quit=ok&man=" . &form_encode(shift @ARGV);
if ( $query eq "" ) { $query = "?quit=ok"; }
$query .= "&section=" . &form_encode($_);
} else {
$query = "?quit=ok&man=" . &form_encode($_);
if ( $query eq "" ) { $query = "?quit=ok"; }
$query .= "&man=" . &form_encode($_);
}
}
......
......@@ -23,17 +23,23 @@ if ((! $query{"man"}) && (! $query{"local"})) {
if ($query{"keyword"}) {
$keyword = $query{"keyword"};
$k = &html_quote($keyword);
if ($query{"section"}) {
$section = $query{"section"};
$sectionopt = "-s $section ";
} else {
$sectionopt = "";
}
print <<EOF;
Content-Type: text/html
<html>
<head><title>man -k $k</title></head>
<head><title>man $sectionopt-k $k</title></head>
<body>
<h2>man -k <b>$k</b></h2>
<h2>man $sectionopt-k <b>$k</b></h2>
<ul>
EOF
$keyword =~ s:([^-\w\200-\377.,])::g;
open(F, "$MAN -k $keyword 2> /dev/null |");
open(F, "$MAN $sectionopt -k $keyword 2> /dev/null |");
while(<F>) {
chop;
$_ = &html_quote($_);
......@@ -58,10 +64,10 @@ Content-Type: text/html
<body>
<form action="$CGI">
<table>
<tr><td>Manual:<td><input name=man>
<tr><td>Section:<td><input name=section>
<tr><td>Keyword:<td><input name=keyword>
<tr><td><td><input type=submit> <input type=reset>
<tr><td>Manual:<td><input name=man />
<tr><td>Section:<td><input name=section />
<tr><td>Keyword:<td><input name=keyword />
<tr><td><td><input type=submit /> <input type=reset />
</table>
</form>
</body>
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment