]>
Commit | Line | Data |
---|---|---|
e0a65194 RS |
1 | #! /usr/bin/env perl |
2 | # Copyright 1995-2016 The OpenSSL Project Authors. All Rights Reserved. | |
3 | # | |
c7fcbc09 | 4 | # Licensed under the Apache License 2.0 (the "License"). You may not use |
e0a65194 RS |
5 | # this file except in compliance with the License. You can obtain a copy |
6 | # in the file LICENSE in the source distribution or at | |
7 | # https://www.openssl.org/source/license.html | |
d02b48c6 RE |
8 | |
9 | ($#ARGV == 1) || die "usage: cmp.pl <file1> <file2>\n"; | |
10 | ||
11 | open(IN0,"<$ARGV[0]") || die "unable to open $ARGV[0]\n"; | |
12 | open(IN1,"<$ARGV[1]") || die "unable to open $ARGV[1]\n"; | |
13 | binmode IN0; | |
14 | binmode IN1; | |
15 | ||
16 | $tot=0; | |
17 | $ret=1; | |
18 | for (;;) | |
76c1183d VS |
19 | { |
20 | $n1=sysread(IN0,$b1,4096); | |
21 | $n2=sysread(IN1,$b2,4096); | |
d02b48c6 | 22 | |
76c1183d VS |
23 | last if ($n1 != $n2); |
24 | last if ($b1 ne $b2); | |
25 | last if ($n1 < 0); | |
26 | if ($n1 == 0) | |
27 | { | |
28 | $ret=0; | |
29 | last; | |
30 | } | |
31 | $tot+=$n1; | |
32 | } | |
d02b48c6 RE |
33 | |
34 | close(IN0); | |
35 | close(IN1); | |
36 | if ($ret) | |
76c1183d VS |
37 | { |
38 | printf STDERR "$ARGV[0] and $ARGV[1] are different\n"; | |
39 | @a1=unpack("C*",$b1); | |
40 | @a2=unpack("C*",$b2); | |
41 | for ($i=0; $i<=$#a1; $i++) | |
42 | { | |
43 | if ($a1[$i] ne $a2[$i]) | |
44 | { | |
45 | printf "%02X %02X <<\n",$a1[$i],$a2[$i]; | |
46 | last; | |
47 | } | |
48 | } | |
49 | $nm=$tot+$n1; | |
50 | $tot+=$i+1; | |
51 | printf STDERR "diff at char $tot of $nm\n"; | |
52 | } | |
d02b48c6 | 53 | exit($ret); |