Use Digest::MD5 (a Perl module that should come bundled standard with Perl) to compute file digests instead of using the external program "sha1sum" (which may not be present).

llvm-svn: 49954
This commit is contained in:
Ted Kremenek 2008-04-19 18:05:48 +00:00
parent faae081131
commit b0fa31cefb
1 changed files with 15 additions and 4 deletions

View File

@ -16,6 +16,7 @@ use strict;
use warnings;
use File::Temp qw/ :mktemp /;
use FindBin qw($RealBin);
use Digest::MD5;
my $Verbose = 0; # Verbose output from this script.
my $Prog = "scan-build";
@ -122,10 +123,20 @@ sub SetHtmlEnv {
sub ComputeDigest {
my $FName = shift;
die "Cannot read $FName" if (! -r $FName);
my $Result = `sha1sum -b $FName`;
my @Output = split /\s+/,$Result;
die "Bad output from sha1sum" if (scalar(@Output) != 2);
return $Output[0];
# Use Digest::MD5. We don't have to be cryptographically secure. We're
# just looking for duplicate files that come from a non-maliciious source.
# We use Digest::MD5 becomes it is a standard Perl module that should
# come bundled on most systems.
open(FILE, $FName) or die "Cannot open $FName.";
binmode FILE;
my $Result = Digest::MD5->new->addfile(*FILE)->hexdigest;
close(FILE);
# Return the digest.
return $Result;
}
##----------------------------------------------------------------------------##