Commit | Line | Data |
---|---|---|
345ebe66 | 1 | #! /usr/bin/perl -w |
8a886602 RK |
2 | # |
3 | # This file is part of DisOrder. | |
4 | # Copyright (C) 2007 Richard Kettlewell | |
5 | # | |
6 | # This program is free software: you can redistribute it and/or modify | |
7 | # it under the terms of the GNU General Public License as published by | |
8 | # the Free Software Foundation, either version 3 of the License, or | |
9 | # (at your option) any later version. | |
10 | # | |
11 | # This program is distributed in the hope that it will be useful, | |
12 | # but WITHOUT ANY WARRANTY; without even the implied warranty of | |
13 | # MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the | |
14 | # GNU General Public License for more details. | |
15 | # | |
16 | # You should have received a copy of the GNU General Public License | |
17 | # along with this program. If not, see <http://www.gnu.org/licenses/>. | |
18 | # | |
345ebe66 RK |
19 | use strict; |
20 | ||
21 | our $last; | |
22 | my %start = (); | |
23 | my %end = (); | |
24 | while(<>) { | |
25 | if(/sequence (\d+) timestamp (\w+) length (\w+) end (\w+)/) { | |
26 | my $seq = $1; | |
27 | my $timestamp = hex($2); | |
28 | my $length = hex($3); | |
29 | my $end = hex($4); | |
30 | ||
31 | if(defined $last) { | |
32 | if($seq < $last) { | |
33 | print "$seq < $last\n"; | |
34 | } elsif($seq != $last + 1) { | |
35 | printf "%u when %u expected, missed %d\n", | |
36 | $seq, $last + 1, $seq - $last; | |
37 | } | |
38 | } | |
39 | if(exists $start{$seq}) { | |
40 | print "$seq: duplicate"; | |
41 | } | |
42 | $start{$seq} = $timestamp; | |
43 | $end{$seq} = $end; | |
44 | if(exists $start{$seq-1}) { | |
45 | if($end{$seq-1} != $start{$seq}) { | |
46 | printf "%u ends at %x but %u starts at %x (delta=%d)\n", | |
47 | $seq-1, $end{$seq-1}, $seq, $start{$seq}, | |
48 | $start{$seq}-$end{$seq-1}; | |
49 | } | |
50 | } | |
51 | ||
52 | ||
53 | $last = $seq; | |
54 | } | |
55 | } |