diff options
author | Norbert Preining <preining@logic.at> | 2010-05-12 16:51:27 +0000 |
---|---|---|
committer | Norbert Preining <preining@logic.at> | 2010-05-12 16:51:27 +0000 |
commit | b645030efc22e13c2498a1522083634ab91b2de1 (patch) | |
tree | c75c7a71998200d419af56eb755dac2f5115b585 /Master/tlpkg/tlperl/lib/Digest/base.pm | |
parent | 44ccd4efc5352f9eb1099ba357708e7b5ff03b83 (diff) |
move tlperl to tlperl.old
git-svn-id: svn://tug.org/texlive/trunk@18209 c570f23f-e606-0410-a88d-b1316a301751
Diffstat (limited to 'Master/tlpkg/tlperl/lib/Digest/base.pm')
-rw-r--r-- | Master/tlpkg/tlperl/lib/Digest/base.pm | 100 |
1 files changed, 0 insertions, 100 deletions
diff --git a/Master/tlpkg/tlperl/lib/Digest/base.pm b/Master/tlpkg/tlperl/lib/Digest/base.pm deleted file mode 100644 index cb336c2cf61..00000000000 --- a/Master/tlpkg/tlperl/lib/Digest/base.pm +++ /dev/null @@ -1,100 +0,0 @@ -package Digest::base; - -use strict; -use vars qw($VERSION); -$VERSION = "1.00"; - -# subclass is supposed to implement at least these -sub new; -sub clone; -sub add; -sub digest; - -sub reset { - my $self = shift; - $self->new(@_); # ugly -} - -sub addfile { - my ($self, $handle) = @_; - - my $n; - my $buf = ""; - - while (($n = read($handle, $buf, 4*1024))) { - $self->add($buf); - } - unless (defined $n) { - require Carp; - Carp::croak("Read failed: $!"); - } - - $self; -} - -sub add_bits { - my $self = shift; - my $bits; - my $nbits; - if (@_ == 1) { - my $arg = shift; - $bits = pack("B*", $arg); - $nbits = length($arg); - } - else { - ($bits, $nbits) = @_; - } - if (($nbits % 8) != 0) { - require Carp; - Carp::croak("Number of bits must be multiple of 8 for this algorithm"); - } - return $self->add(substr($bits, 0, $nbits/8)); -} - -sub hexdigest { - my $self = shift; - return unpack("H*", $self->digest(@_)); -} - -sub b64digest { - my $self = shift; - require MIME::Base64; - my $b64 = MIME::Base64::encode($self->digest(@_), ""); - $b64 =~ s/=+$//; - return $b64; -} - -1; - -__END__ - -=head1 NAME - -Digest::base - Digest base class - -=head1 SYNOPSIS - - package Digest::Foo; - use base 'Digest::base'; - -=head1 DESCRIPTION - -The C<Digest::base> class provide implementations of the methods -C<addfile> and C<add_bits> in terms of C<add>, and of the methods -C<hexdigest> and C<b64digest> in terms of C<digest>. - -Digest implementations might want to inherit from this class to get -this implementations of the alternative I<add> and I<digest> methods. -A minimal subclass needs to implement the following methods by itself: - - new - clone - add - digest - -The arguments and expected behaviour of these methods are described in -L<Digest>. - -=head1 SEE ALSO - -L<Digest> |