diff --git a/mozilla/tools/trace-malloc/diffbloatdump.pl b/mozilla/tools/trace-malloc/diffbloatdump.pl index 7d7ab8517d7..49ed12f2bf4 100755 --- a/mozilla/tools/trace-malloc/diffbloatdump.pl +++ b/mozilla/tools/trace-malloc/diffbloatdump.pl @@ -127,7 +127,15 @@ sub add_file($$) { my ($infile, $factor) = @_; - open (INFILE, "<$infile") || die "Can't open input \"$infile\""; + if ($infile =~ /\.bz2$/) { + # XXX This doesn't propagate errors from bzip2. + open (INFILE, "bzip2 -cd '$infile' |") || die "Can't open input \"$infile\""; + } elsif ($infile =~ /\.gz$/) { + # XXX This doesn't propagate errors from gzip. + open (INFILE, "gzip -cd '$infile' |") || die "Can't open input \"$infile\""; + } else { + open (INFILE, "<$infile") || die "Can't open input \"$infile\""; + } while ( ! eof(INFILE) ) { # read the type and address my $line = ;