mirror of
https://github.com/moparisthebest/curl
synced 2024-12-22 16:18:48 -05:00
gen: support 'protos'
and warn on unrecognized lines
This commit is contained in:
parent
5781e3653e
commit
c3c1e96185
@ -11,6 +11,7 @@ my %optlong;
|
|||||||
my %helplong;
|
my %helplong;
|
||||||
my %arglong;
|
my %arglong;
|
||||||
my %redirlong;
|
my %redirlong;
|
||||||
|
my %protolong;
|
||||||
|
|
||||||
# get the long name version, return the man page string
|
# get the long name version, return the man page string
|
||||||
sub manpageify {
|
sub manpageify {
|
||||||
@ -98,42 +99,52 @@ sub single {
|
|||||||
my $seealso;
|
my $seealso;
|
||||||
my $magic; # cmdline special option
|
my $magic; # cmdline special option
|
||||||
while(<F>) {
|
while(<F>) {
|
||||||
if(/^Short: (.)/i) {
|
if(/^Short: *(.)/i) {
|
||||||
$short=$1;
|
$short=$1;
|
||||||
}
|
}
|
||||||
elsif(/^Long: (.*)/i) {
|
elsif(/^Long: *(.*)/i) {
|
||||||
$long=$1;
|
$long=$1;
|
||||||
}
|
}
|
||||||
elsif(/^Added: (.*)/i) {
|
elsif(/^Added: *(.*)/i) {
|
||||||
$added=$1;
|
$added=$1;
|
||||||
}
|
}
|
||||||
elsif(/^Tags: (.*)/i) {
|
elsif(/^Tags: *(.*)/i) {
|
||||||
$tags=$1;
|
$tags=$1;
|
||||||
}
|
}
|
||||||
elsif(/^Arg: (.*)/i) {
|
elsif(/^Arg: *(.*)/i) {
|
||||||
$arg=$1;
|
$arg=$1;
|
||||||
}
|
}
|
||||||
elsif(/^Magic: (.*)/i) {
|
elsif(/^Magic: *(.*)/i) {
|
||||||
$magic=$1;
|
$magic=$1;
|
||||||
}
|
}
|
||||||
elsif(/^Mutexed: (.*)/i) {
|
elsif(/^Mutexed: *(.*)/i) {
|
||||||
$mutexed=$1;
|
$mutexed=$1;
|
||||||
}
|
}
|
||||||
elsif(/^Protocols: (.*)/i) {
|
elsif(/^Protocols: *(.*)/i) {
|
||||||
$protocols=$1;
|
$protocols=$1;
|
||||||
}
|
}
|
||||||
elsif(/^See-also: (.*)/i) {
|
elsif(/^See-also: *(.*)/i) {
|
||||||
$seealso=$1;
|
$seealso=$1;
|
||||||
}
|
}
|
||||||
elsif(/^Requires: (.*)/i) {
|
elsif(/^Requires: *(.*)/i) {
|
||||||
$requires=$1;
|
$requires=$1;
|
||||||
}
|
}
|
||||||
elsif(/^Redirect: (.*)/i) {
|
elsif(/^Redirect: *(.*)/i) {
|
||||||
$redirect=$1;
|
$redirect=$1;
|
||||||
}
|
}
|
||||||
|
elsif(/^Help: *(.*)/i) {
|
||||||
|
;
|
||||||
|
}
|
||||||
elsif(/^---/) {
|
elsif(/^---/) {
|
||||||
|
if(!$long) {
|
||||||
|
print STDERR "WARN: no 'Long:' in $f\n";
|
||||||
|
}
|
||||||
last;
|
last;
|
||||||
}
|
}
|
||||||
|
else {
|
||||||
|
chomp;
|
||||||
|
print STDERR "WARN: unrecognized line in $f, ignoring:\n:'$_';"
|
||||||
|
}
|
||||||
}
|
}
|
||||||
my @dest;
|
my @dest;
|
||||||
while(<F>) {
|
while(<F>) {
|
||||||
@ -222,6 +233,7 @@ sub getshortlong {
|
|||||||
my $long;
|
my $long;
|
||||||
my $help;
|
my $help;
|
||||||
my $arg;
|
my $arg;
|
||||||
|
my $protocols;
|
||||||
while(<F>) {
|
while(<F>) {
|
||||||
if(/^Short: (.)/i) {
|
if(/^Short: (.)/i) {
|
||||||
$short=$1;
|
$short=$1;
|
||||||
@ -235,6 +247,9 @@ sub getshortlong {
|
|||||||
elsif(/^Arg: (.*)/i) {
|
elsif(/^Arg: (.*)/i) {
|
||||||
$arg=$1;
|
$arg=$1;
|
||||||
}
|
}
|
||||||
|
elsif(/^Protocols: (.*)/i) {
|
||||||
|
$protocols=$1;
|
||||||
|
}
|
||||||
elsif(/^---/) {
|
elsif(/^---/) {
|
||||||
last;
|
last;
|
||||||
}
|
}
|
||||||
@ -247,6 +262,7 @@ sub getshortlong {
|
|||||||
$optlong{$long}=$short;
|
$optlong{$long}=$short;
|
||||||
$helplong{$long}=$help;
|
$helplong{$long}=$help;
|
||||||
$arglong{$long}=$arg;
|
$arglong{$long}=$arg;
|
||||||
|
$protolong{$long}=$protocols;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -311,6 +327,19 @@ sub showonly {
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
sub showprotocols {
|
||||||
|
my %prots;
|
||||||
|
foreach my $f (keys %optlong) {
|
||||||
|
my @p = split(/ /, $protolong{$f});
|
||||||
|
for my $p (@p) {
|
||||||
|
$prots{$p}++;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
for(sort keys %prots) {
|
||||||
|
printf "$_ (%d options)\n", $prots{$_};
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
sub getargs {
|
sub getargs {
|
||||||
my $f;
|
my $f;
|
||||||
do {
|
do {
|
||||||
@ -327,9 +356,13 @@ sub getargs {
|
|||||||
showonly(shift @ARGV);
|
showonly(shift @ARGV);
|
||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
|
elsif($f eq "protos") {
|
||||||
|
showprotocols();
|
||||||
|
return;
|
||||||
|
}
|
||||||
} while($f);
|
} while($f);
|
||||||
|
|
||||||
print "Usage: gen.pl <mainpage/listhelp/single FILE>\n";
|
print "Usage: gen.pl <mainpage/listhelp/single FILE/protos>\n";
|
||||||
}
|
}
|
||||||
|
|
||||||
#------------------------------------------------------------------------
|
#------------------------------------------------------------------------
|
||||||
|
Loading…
Reference in New Issue
Block a user