Skip to content

Commit d153d61

Browse files
cpan/Digest-MD5 - Update to version 2.59 (fixing previous partial update)
2.59 Sat Dec 30 2023 - Remove meaningless const type qualifier to silence HPUX builds. - remove useless perl 5.6 check - convert bits.t test to use Test::More - Update Digest::MD5 Synopsis and Examples. Add `my` to synopsis - MD5.xs: eliminate C++ guards
1 parent 97cb612 commit d153d61

File tree

4 files changed

+121
-125
lines changed

4 files changed

+121
-125
lines changed

Porting/Maintainers.pl

-1
Original file line numberDiff line numberDiff line change
@@ -380,7 +380,6 @@ package Maintainers;
380380

381381
'Digest::MD5' => {
382382
'DISTRIBUTION' => 'TODDR/Digest-MD5-2.59.tar.gz',
383-
'SYNCINFO' => 'root on Sat Dec 30 21:42:47 2023',
384383
'FILES' => q[cpan/Digest-MD5],
385384
'EXCLUDED' => [ 'rfc1321.txt', 'bin/md5sum.pl' ],
386385
},

cpan/Digest-MD5/MD5.pm

+25-27
Original file line numberDiff line numberDiff line change
@@ -3,7 +3,7 @@ package Digest::MD5;
33
use strict;
44
use warnings;
55

6-
our $VERSION = '2.58_01';
6+
our $VERSION = '2.59';
77

88
require Exporter;
99
*import = \&Exporter::import;
@@ -27,15 +27,15 @@ eval {
2727
if ($@) {
2828
my $olderr = $@;
2929
eval {
30-
# Try to load the pure perl version
31-
require Digest::Perl::MD5;
30+
# Try to load the pure perl version
31+
require Digest::Perl::MD5;
3232

33-
Digest::Perl::MD5->import(qw(md5 md5_hex md5_base64));
34-
unshift(@ISA, "Digest::Perl::MD5"); # make OO interface work
33+
Digest::Perl::MD5->import(qw(md5 md5_hex md5_base64));
34+
unshift(@ISA, "Digest::Perl::MD5"); # make OO interface work
3535
};
3636
if ($@) {
37-
# restore the original error
38-
die $olderr;
37+
# restore the original error
38+
die $olderr;
3939
}
4040
}
4141
else {
@@ -51,24 +51,24 @@ Digest::MD5 - Perl interface to the MD5 Algorithm
5151
5252
=head1 SYNOPSIS
5353
54-
# Functional style
55-
use Digest::MD5 qw(md5 md5_hex md5_base64);
54+
# Functional style
55+
use Digest::MD5 qw(md5 md5_hex md5_base64);
5656
57-
$digest = md5($data);
58-
$digest = md5_hex($data);
59-
$digest = md5_base64($data);
57+
my $digest = md5($data);
58+
my $digest = md5_hex($data);
59+
my $digest = md5_base64($data);
6060
61-
# OO style
62-
use Digest::MD5;
61+
# OO style
62+
use Digest::MD5;
6363
64-
$ctx = Digest::MD5->new;
64+
my $ctx = Digest::MD5->new;
6565
66-
$ctx->add($data);
67-
$ctx->addfile($file_handle);
66+
$ctx->add($data);
67+
$ctx->addfile($file_handle);
6868
69-
$digest = $ctx->digest;
70-
$digest = $ctx->hexdigest;
71-
$digest = $ctx->b64digest;
69+
$digest = $ctx->digest;
70+
$digest = $ctx->hexdigest;
71+
$digest = $ctx->b64digest;
7272
7373
=head1 DESCRIPTION
7474
@@ -157,8 +157,8 @@ stream. Example:
157157
158158
my $md5 = Digest::MD5->new;
159159
while (<>) {
160-
$md5->add($_);
161-
print "Line $.: ", $md5->clone->hexdigest, "\n";
160+
$md5->add($_);
161+
print "Line $.: ", $md5->clone->hexdigest, "\n";
162162
}
163163
164164
=item $md5->add($data,...)
@@ -258,12 +258,10 @@ The above example would print out the message:
258258
The same checksum can also be calculated in OO style:
259259
260260
use Digest::MD5;
261-
262-
$md5 = Digest::MD5->new;
261+
my $md5 = Digest::MD5->new;
263262
$md5->add('foo', 'bar');
264263
$md5->add('baz');
265-
$digest = $md5->hexdigest;
266-
264+
my $digest = $md5->hexdigest;
267265
print "Digest is $digest\n";
268266
269267
With OO style, you can break the message arbitrarily. This means that we
@@ -278,7 +276,7 @@ This is useful when calculating checksum for files:
278276
open (my $fh, '<', $filename) or die "Can't open '$filename': $!";
279277
binmode($fh);
280278
281-
$md5 = Digest::MD5->new;
279+
my $md5 = Digest::MD5->new;
282280
while (<$fh>) {
283281
$md5->add($_);
284282
}

cpan/Digest-MD5/MD5.xs

+2-2
Original file line numberDiff line numberDiff line change
@@ -461,7 +461,7 @@ static MD5_CTX* get_md5_ctx(pTHX_ SV* sv)
461461

462462
for (mg = SvMAGIC(SvRV(sv)); mg; mg = mg->mg_moremagic) {
463463
if (mg->mg_type == PERL_MAGIC_ext
464-
&& mg->mg_virtual == (const MGVTBL * const)&vtbl_md5) {
464+
&& mg->mg_virtual == (const MGVTBL *)&vtbl_md5) {
465465
return (MD5_CTX *)mg->mg_ptr;
466466
}
467467
}
@@ -483,7 +483,7 @@ static SV * new_md5_ctx(pTHX_ MD5_CTX *context, const char *klass)
483483
#ifdef USE_ITHREADS
484484
mg =
485485
#endif
486-
sv_magicext(sv, NULL, PERL_MAGIC_ext, (const MGVTBL * const)&vtbl_md5, (const char *)context, 0);
486+
sv_magicext(sv, NULL, PERL_MAGIC_ext, (const MGVTBL *)&vtbl_md5, (const char *)context, 0);
487487

488488
#if defined(USE_ITHREADS) && defined(MGf_DUP)
489489
mg->mg_flags |= MGf_DUP;

cpan/Digest-MD5/t/files.t

+94-95
Original file line numberDiff line numberDiff line change
@@ -15,14 +15,14 @@ my $EXPECT;
1515
if (ord "A" == 193) { # EBCDIC
1616
$EXPECT = <<EOT;
1717
0956ffb4f6416082b27d6680b4cf73fc README
18-
3fce99bf3f4df26d65843a6990849df0 MD5.xs
18+
f9d533188a37309320d2805372db0b0e MD5.xs
1919
276da0aa4e9a08b7fe09430c9c5690aa rfc1321.txt
2020
EOT
2121
} else {
2222
# This is the output of: 'md5sum README MD5.xs rfc1321.txt'
2323
$EXPECT = <<EOT;
2424
2f93400875dbb56f36691d5f69f3eba5 README
25-
f8549bd328fa712f4af41430738c285a MD5.xs
25+
f4b5da4e0f19b4c0ab374b7085ed8955 MD5.xs
2626
754b9db19f79dbc4992f7166eb0f37ce rfc1321.txt
2727
EOT
2828
}
@@ -41,99 +41,99 @@ if ($@) {
4141
}
4242

4343
for (split /^/, $EXPECT) {
44-
my($md5hex, $file) = split ' ';
45-
my $base = $file;
46-
# print "# $base\n";
47-
if ($ENV{PERL_CORE}) {
44+
my($md5hex, $file) = split ' ';
45+
my $base = $file;
46+
# print "# $base\n";
47+
if ($ENV{PERL_CORE}) {
4848
# Don't have these in core.
49-
if ($file eq 'rfc1321.txt' or $file eq 'README') {
50-
print "ok ", ++$testno, " # Skip: PERL_CORE\n";
51-
next;
52-
}
53-
}
54-
# print "# file = $file\n";
55-
unless (-f $file) {
56-
warn "No such file: $file\n";
57-
next;
58-
}
59-
if ($ENV{EBCDIC_MD5SUM}) {
60-
require Encode;
61-
my $data = cat_file($file);
62-
Encode::from_to($data, 'latin1', 'cp1047');
63-
print md5_hex($data), " $base\n";
64-
next;
65-
}
66-
my $md5bin = pack("H*", $md5hex);
67-
my $md5b64;
68-
if ($B64) {
69-
$md5b64 = MIME::Base64::encode($md5bin, "");
70-
chop($md5b64); chop($md5b64); # remove padding
71-
}
72-
my $failed;
73-
my $got;
74-
75-
if (digest_file($file, 'digest') ne $md5bin) {
76-
print "$file: Bad digest\n";
77-
$failed++;
78-
}
79-
80-
if (($got = digest_file($file, 'hexdigest')) ne $md5hex) {
81-
print "$file: Bad hexdigest: got $got expected $md5hex\n";
82-
$failed++;
83-
}
84-
85-
if ($B64 && digest_file($file, 'b64digest') ne $md5b64) {
86-
print "$file: Bad b64digest\n";
87-
$failed++;
88-
}
89-
90-
my $data = cat_file($file);
91-
if (md5($data) ne $md5bin) {
92-
print "$file: md5() failed\n";
93-
$failed++;
94-
}
95-
if (md5_hex($data) ne $md5hex) {
96-
print "$file: md5_hex() failed\n";
97-
$failed++;
98-
}
99-
if ($B64 && md5_base64($data) ne $md5b64) {
100-
print "$file: md5_base64() failed\n";
101-
$failed++;
102-
}
103-
104-
if (Digest::MD5->new->add($data)->digest ne $md5bin) {
105-
print "$file: MD5->new->add(...)->digest failed\n";
106-
$failed++;
107-
}
108-
if (Digest::MD5->new->add($data)->hexdigest ne $md5hex) {
109-
print "$file: MD5->new->add(...)->hexdigest failed\n";
110-
$failed++;
111-
}
112-
if ($B64 && Digest::MD5->new->add($data)->b64digest ne $md5b64) {
113-
print "$file: MD5->new->add(...)->b64digest failed\n";
114-
$failed++;
115-
}
116-
117-
my @data = split //, $data;
118-
if (md5(@data) ne $md5bin) {
119-
print "$file: md5(\@data) failed\n";
120-
$failed++;
121-
}
122-
if (Digest::MD5->new->add(@data)->digest ne $md5bin) {
123-
print "$file: MD5->new->add(\@data)->digest failed\n";
124-
$failed++;
125-
}
126-
my $md5 = Digest::MD5->new;
127-
for (@data) {
128-
$md5->add($_);
129-
}
130-
if ($md5->digest ne $md5bin) {
131-
print "$file: $md5->add()-loop failed\n";
132-
$failed++;
133-
}
134-
135-
print "not " if $failed;
136-
print "ok ", ++$testno, "\n";
49+
if ($file eq 'rfc1321.txt' or $file eq 'README') {
50+
print "ok ", ++$testno, " # Skip: PERL_CORE\n";
51+
next;
52+
}
53+
}
54+
# print "# file = $file\n";
55+
unless (-f $file) {
56+
warn "No such file: $file\n";
57+
next;
58+
}
59+
if ($ENV{EBCDIC_MD5SUM}) {
60+
require Encode;
61+
my $data = cat_file($file);
62+
Encode::from_to($data, 'latin1', 'cp1047');
63+
print md5_hex($data), " $base\n";
64+
next;
65+
}
66+
my $md5bin = pack("H*", $md5hex);
67+
my $md5b64;
68+
if ($B64) {
69+
$md5b64 = MIME::Base64::encode($md5bin, "");
70+
chop($md5b64); chop($md5b64); # remove padding
71+
}
72+
my $failed;
73+
my $got;
74+
75+
if (digest_file($file, 'digest') ne $md5bin) {
76+
print "$file: Bad digest\n";
77+
$failed++;
78+
}
79+
80+
if (($got = digest_file($file, 'hexdigest')) ne $md5hex) {
81+
print "$file: Bad hexdigest: got $got expected $md5hex\n";
82+
$failed++;
83+
}
84+
85+
if ($B64 && digest_file($file, 'b64digest') ne $md5b64) {
86+
print "$file: Bad b64digest\n";
87+
$failed++;
88+
}
89+
90+
my $data = cat_file($file);
91+
if (md5($data) ne $md5bin) {
92+
print "$file: md5() failed\n";
93+
$failed++;
94+
}
95+
if (md5_hex($data) ne $md5hex) {
96+
print "$file: md5_hex() failed\n";
97+
$failed++;
98+
}
99+
if ($B64 && md5_base64($data) ne $md5b64) {
100+
print "$file: md5_base64() failed\n";
101+
$failed++;
102+
}
103+
104+
if (Digest::MD5->new->add($data)->digest ne $md5bin) {
105+
print "$file: MD5->new->add(...)->digest failed\n";
106+
$failed++;
107+
}
108+
if (Digest::MD5->new->add($data)->hexdigest ne $md5hex) {
109+
print "$file: MD5->new->add(...)->hexdigest failed\n";
110+
$failed++;
111+
}
112+
if ($B64 && Digest::MD5->new->add($data)->b64digest ne $md5b64) {
113+
print "$file: MD5->new->add(...)->b64digest failed\n";
114+
$failed++;
115+
}
116+
117+
my @data = split //, $data;
118+
if (md5(@data) ne $md5bin) {
119+
print "$file: md5(\@data) failed\n";
120+
$failed++;
121+
}
122+
if (Digest::MD5->new->add(@data)->digest ne $md5bin) {
123+
print "$file: MD5->new->add(\@data)->digest failed\n";
124+
$failed++;
125+
}
126+
my $md5 = Digest::MD5->new;
127+
for (@data) {
128+
$md5->add($_);
129+
}
130+
if ($md5->digest ne $md5bin) {
131+
print "$file: $md5->add()-loop failed\n";
132+
$failed++;
133+
}
134+
135+
print "not " if $failed;
136+
print "ok ", ++$testno, "\n";
137137
}
138138

139139

@@ -163,4 +163,3 @@ sub cat_file
163163
close(FILE);
164164
$tmp;
165165
}
166-

0 commit comments

Comments
 (0)