#!/usr/bin/perl -w
use strict;
use Digest::MD5;

process_file($_) for @ARGV;

sub process_file {
  my $file = shift;
  open my $fh, $file or die $!;
  while (<$fh>) {
    my ($count, $crit, $reason) = m/# uncoverable:\s+(\d+)\s+(\w+)\s+(.*$)/
      or next;
    my $md5 = Digest::MD5->new->add($_)->hexdigest;
    $crit =~ s/s$//;
    for (0 .. $count - 1) {
      print "$file $crit $md5 $_ 0 $reason\n";
    }
  }
}
