mirror of
https://github.com/ossrs/srs.git
synced 2025-03-09 15:49:59 +00:00
Upgrade openssl from 1.1.0e to 1.1.1b, with source code. 4.0.78
This commit is contained in:
parent
8f1c992379
commit
96dbd7bced
1476 changed files with 616554 additions and 4 deletions
149
trunk/3rdparty/openssl-1.1-fit/util/perl/OpenSSL/Util/Pod.pm
vendored
Normal file
149
trunk/3rdparty/openssl-1.1-fit/util/perl/OpenSSL/Util/Pod.pm
vendored
Normal file
|
@ -0,0 +1,149 @@
|
|||
# Copyright 2016 The OpenSSL Project Authors. All Rights Reserved.
|
||||
#
|
||||
# Licensed under the OpenSSL license (the "License"). You may not use
|
||||
# this file except in compliance with the License. You can obtain a copy
|
||||
# in the file LICENSE in the source distribution or at
|
||||
# https://www.openssl.org/source/license.html
|
||||
|
||||
package OpenSSL::Util::Pod;
|
||||
|
||||
use strict;
|
||||
use warnings;
|
||||
|
||||
use Exporter;
|
||||
use vars qw($VERSION @ISA @EXPORT @EXPORT_OK %EXPORT_TAGS);
|
||||
$VERSION = "0.1";
|
||||
@ISA = qw(Exporter);
|
||||
@EXPORT = qw(extract_pod_info);
|
||||
@EXPORT_OK = qw();
|
||||
|
||||
=head1 NAME
|
||||
|
||||
OpenSSL::Util::Pod - utilities to manipulate .pod files
|
||||
|
||||
=head1 SYNOPSIS
|
||||
|
||||
use OpenSSL::Util::Pod;
|
||||
|
||||
my %podinfo = extract_pod_info("foo.pod");
|
||||
|
||||
# or if the file is already opened... Note that this consumes the
|
||||
# remainder of the file.
|
||||
|
||||
my %podinfo = extract_pod_info(\*STDIN);
|
||||
|
||||
=head1 DESCRIPTION
|
||||
|
||||
=over
|
||||
|
||||
=item B<extract_pod_info "FILENAME", HASHREF>
|
||||
|
||||
=item B<extract_pod_info "FILENAME">
|
||||
|
||||
=item B<extract_pod_info GLOB, HASHREF>
|
||||
|
||||
=item B<extract_pod_info GLOB>
|
||||
|
||||
Extracts information from a .pod file, given a STRING (file name) or a
|
||||
GLOB (a file handle). The result is given back as a hash table.
|
||||
|
||||
The additional hash is for extra parameters:
|
||||
|
||||
=over
|
||||
|
||||
=item B<section =E<gt> N>
|
||||
|
||||
The value MUST be a number, and will be the man section number
|
||||
to be used with the given .pod file.
|
||||
|
||||
=item B<debug =E<gt> 0|1>
|
||||
|
||||
If set to 1, extra debug text will be printed on STDERR
|
||||
|
||||
=back
|
||||
|
||||
=back
|
||||
|
||||
=head1 RETURN VALUES
|
||||
|
||||
=over
|
||||
|
||||
=item B<extract_pod_info> returns a hash table with the following
|
||||
items:
|
||||
|
||||
=over
|
||||
|
||||
=item B<section =E<gt> N>
|
||||
|
||||
The man section number this .pod file belongs to. Often the same as
|
||||
was given as input.
|
||||
|
||||
=item B<names =E<gt> [ "name", ... ]>
|
||||
|
||||
All the names extracted from the NAME section.
|
||||
|
||||
=back
|
||||
|
||||
=back
|
||||
|
||||
=cut
|
||||
|
||||
sub extract_pod_info {
|
||||
my $input = shift;
|
||||
my $defaults_ref = shift || {};
|
||||
my %defaults = ( debug => 0, section => 0, %$defaults_ref );
|
||||
my $fh = undef;
|
||||
my $filename = undef;
|
||||
|
||||
# If not a file handle, then it's assume to be a file path (a string)
|
||||
unless (ref $input eq "GLOB") {
|
||||
$filename = $input;
|
||||
open $fh, $input or die "Trying to read $filename: $!\n";
|
||||
print STDERR "DEBUG: Reading $input\n" if $defaults{debug};
|
||||
$input = $fh;
|
||||
}
|
||||
|
||||
my %podinfo = ( section => $defaults{section});
|
||||
while(<$input>) {
|
||||
s|\R$||;
|
||||
# Stop reading when we have reached past the NAME section.
|
||||
last if (m|^=head1|
|
||||
&& defined $podinfo{lastsect}
|
||||
&& $podinfo{lastsect} eq "NAME");
|
||||
|
||||
# Collect the section name
|
||||
if (m|^=head1\s*(.*)|) {
|
||||
$podinfo{lastsect} = $1;
|
||||
$podinfo{lastsect} =~ s/\s+$//;
|
||||
print STDERR "DEBUG: Found new pod section $1\n"
|
||||
if $defaults{debug};
|
||||
print STDERR "DEBUG: Clearing pod section text\n"
|
||||
if $defaults{debug};
|
||||
$podinfo{lastsecttext} = "";
|
||||
}
|
||||
|
||||
next if (m|^=| || m|^\s*$|);
|
||||
|
||||
# Collect the section text
|
||||
print STDERR "DEBUG: accumulating pod section text \"$_\"\n"
|
||||
if $defaults{debug};
|
||||
$podinfo{lastsecttext} .= " " if $podinfo{lastsecttext};
|
||||
$podinfo{lastsecttext} .= $_;
|
||||
}
|
||||
|
||||
|
||||
if (defined $fh) {
|
||||
close $fh;
|
||||
print STDERR "DEBUG: Done reading $filename\n" if $defaults{debug};
|
||||
}
|
||||
|
||||
$podinfo{lastsecttext} =~ s| - .*$||;
|
||||
|
||||
my @names =
|
||||
map { s|\s+||g; $_ }
|
||||
split(m|,|, $podinfo{lastsecttext});
|
||||
|
||||
return ( section => $podinfo{section}, names => [ @names ] );
|
||||
}
|
||||
|
||||
1;
|
Loading…
Add table
Add a link
Reference in a new issue