File Coverage

blib/lib/Crypt/Mac.pm
Criterion Covered Total %
statement 12 27 44.4
branch 0 8 0.0
condition n/a
subroutine 4 6 66.6
pod 0 1 0.0
total 16 42 38.1


line stmt bran cond sub pod time code
1             package Crypt::Mac;
2              
3 14     14   89 use strict;
  14         26  
  14         315  
4 14     14   53 use warnings;
  14         17  
  14         450  
5             our $VERSION = '0.080';
6              
7 14     14   61 use Carp;
  14         19  
  14         788  
8             $Carp::Internal{(__PACKAGE__)}++;
9 14     14   4009 use CryptX;
  14         32  
  14         2998  
10              
11             sub addfile {
12 0     0 0   my ($self, $file) = @_;
13              
14 0           my $handle;
15 0 0         if (ref(\$file) eq 'SCALAR') {
16 0 0         open($handle, "<", $file) || die "FATAL: cannot open '$file': $!";
17 0           binmode($handle);
18             }
19             else {
20 0           $handle = $file
21             }
22 0 0         die "FATAL: invalid handle" unless defined $handle;
23              
24 0           my $n;
25 0           my $buf = "";
26 0           local $SIG{__DIE__} = \&CryptX::_croak;
27 0           while (($n = read($handle, $buf, 32*1024))) {
28 0           $self->add($buf);
29             }
30 0 0         die "FATAL: read failed: $!" unless defined $n;
31              
32 0           return $self;
33             }
34              
35 0     0     sub CLONE_SKIP { 1 } # prevent cloning
36              
37             1;
38              
39             =pod
40              
41             =head1 NAME
42              
43             Crypt::Mac - [internal only]
44              
45             =cut