chiark / gitweb /
dvdrip: Collect together bad-blocks lists from repeated runs.
[dvdrip] / distill
1 #! /usr/bin/perl
2
3 use autodie;
4
5 my $ZERO = "\0" x 2048;
6 for my $f (@ARGV) {
7   open my $fh, "<", $f; binmode $fh;
8   my $buf;
9   my $i = 0;
10   SECTOR: for (;;) {
11     my $n = read $fh, $buf, 2048; last SECTOR if $n < 2048;
12     my $head;
13     if ($buf eq $ZERO) { $head = "---"; }
14     else { $head = unpack "H*", substr $buf, 0, 16; }
15     printf "%8d: %s\n", $i++, $head;
16   }
17 }