our
$VERSION
=
'0.079_007'
;
require
Exporter;
our
@ISA
=
qw(Exporter)
;
our
%EXPORT_TAGS
= (
all
=> [
qw/ adler32_data adler32_data_hex adler32_data_int adler32_file adler32_file_hex adler32_file_int
crc32_data crc32_data_hex crc32_data_int crc32_file crc32_file_hex crc32_file_int /
] );
our
@EXPORT_OK
= ( @{
$EXPORT_TAGS
{
'all'
} } );
our
@EXPORT
=
qw()
;
$Carp::Internal
{(__PACKAGE__)}++;
sub
adler32_data {
goto
\
&Crypt::Checksum::Adler32::adler32_data
}
sub
adler32_data_hex {
goto
\
&Crypt::Checksum::Adler32::adler32_data_hex
}
sub
adler32_data_int {
goto
\
&Crypt::Checksum::Adler32::adler32_data_int
}
sub
adler32_file {
goto
\
&Crypt::Checksum::Adler32::adler32_file
}
sub
adler32_file_hex {
goto
\
&Crypt::Checksum::Adler32::adler32_file_hex
}
sub
adler32_file_int {
goto
\
&Crypt::Checksum::Adler32::adler32_file_int
}
sub
crc32_data {
goto
\
&Crypt::Checksum::CRC32::crc32_data
}
sub
crc32_data_hex {
goto
\
&Crypt::Checksum::CRC32::crc32_data_hex
}
sub
crc32_data_int {
goto
\
&Crypt::Checksum::CRC32::crc32_data_int
}
sub
crc32_file {
goto
\
&Crypt::Checksum::CRC32::crc32_file
}
sub
crc32_file_hex {
goto
\
&Crypt::Checksum::CRC32::crc32_file_hex
}
sub
crc32_file_int {
goto
\
&Crypt::Checksum::CRC32::crc32_file_int
}
sub
addfile {
my
(
$self
,
$file
) =
@_
;
my
$handle
;
if
(
ref
(\
$file
) eq
'SCALAR'
) {
open
(
$handle
,
"<"
,
$file
) || croak
"FATAL: cannot open '$file': $!"
;
binmode
(
$handle
);
}
else
{
$handle
=
$file
}
croak
"FATAL: invalid handle"
unless
defined
$handle
;
my
$n
;
my
$buf
=
""
;
while
((
$n
=
read
(
$handle
,
$buf
, 32*1024))) {
$self
->add(
$buf
)
}
croak
"FATAL: read failed: $!"
unless
defined
$n
;
return
$self
;
}
sub
CLONE_SKIP { 1 }
1;